这是一个围绕鸟类识别整理的项目仓库,目标是把“鸟类分类模型从本地推理到网页展示”的基本流程整理清楚,便于教学、演示和后续扩展。
这个仓库后续会用于摄影课程相关教学,因此文档会尽量面向初学者来写。即使读者之前没有系统接触过 Python、深度学习推理、ONNX 或浏览器端模型部署,也可以按照文档一步一步完成环境准备、命令行预测测试、ONNX 导出和网页端预测体验。
从当前阶段来看,仓库重点放在“推理侧”的整理与验证上,目前已经完成的内容主要包括:
- 如何准备运行环境
- 如何用现有模型做一次命令行预测
- 为什么需要把 PyTorch 模型导出成 ONNX
- 如何在浏览器里直接完成图片预测
- 基于 PyTorch 的本地预测脚本
- 鸟类信息表导出脚本
- PyTorch 到 ONNX 的导出脚本
- 基于静态网页和 ONNX Runtime Web 的浏览器端推理演示页面
目前还没有完成的部分,主要集中在“训练侧”,包括:
- 准备和整理训练数据
- 编写或整理模型训练脚本
- 编写或整理模型微调脚本
也就是说,当前版本更适合作为“鸟类分类推理演示与部署入门仓库”来使用;而完整的数据准备、训练和微调流程,还需要在后续继续补充。
如果你是第一次接触本项目,推荐按下面顺序阅读:
可以把这 4 份文档理解为一条完整的入门路径:
- Step1 先解决“环境怎么装”
- Step2 再验证“模型能不能在本地跑起来”
- Step3 解释“为什么网页预测前必须先导出 ONNX”
- Step4 最后体验“浏览器上传图片并完成预测”
.
├─ data/
├─ db/
├─ models/
├─ notes/
├─ scripts/
└─ web/
data/:存放测试图片等输入数据。db/:存放 SQLite 鸟类信息库和导出的bird_info.csv。models/:存放 PyTorch 权重文件和导出的 ONNX 模型文件。notes/:存放项目文档,包括环境准备、模型预测测试、ONNX 导出、静态网页服务等说明。scripts/:存放 Python 脚本,例如命令行预测、鸟类信息导出、ONNX 导出。web/:存放静态网页推理演示所需的前端文件和 ONNX Runtime Web 依赖。
- SQLite 鸟类信息数据来源:https://github.com/jamesphotography/SuperPicky
- 模型来源:https://github.com/sun-jiao/osea
厚朴【HOPE】工作室:13-陈健文
本项目目前的大部分文档整理、说明撰写与部分实现工作,主要基于 Vibe Coding 方式,并结合 Codex、GPT-5.4 和 ChatGPT 协助完成。由于相关内容仍可能存在理解偏差、表述疏漏、配置遗漏或技术性错误,因此本文档与代码仅作为课程教学、学习交流与项目整理参考,不保证绝对准确或适用于所有环境。
如果你在使用过程中发现错漏、歧义或需要修正的地方,欢迎联系作者反馈。
MIT