deepseek赋能算法入门到入职1-计划与yolo8初实践
🗓️ 四周行动计划总览
周次 核心目标 产出物
第1周 跑通深度学习全流程(分类→检测) 能训练YOLO的代码环境、第一个训练日志
第2周 完成“称重商品识别”项目核心 训练好的YOLO模型(.pt文件)
第3周 工程化部署 + 面试题库 HTTP API服务、面试问答文档
第4周 简历/作品集打磨 + 模拟面试 + 投递 GitHub仓库、自我介绍视频/录音
4月3日实操内容(一天完成了4天的计划)
📅 第1周:环境搭建 + 跑通第一个深度学习项目
目标:消除“无实操”恐惧,理解训练全流程。
Day 1-2:环境与工具(2h/天)
1.已经安装 conda25.5.1和Python3.13.5,故未记录软件安装配置,仍然创建虚拟环境yolo8, python版本3.9,-y确认
conda create -n yolov8 python=3.9 -y
2.激活环境,该环境Python版本应该为3.9
conda activate yolov8
3.安装pytorch cpu版本,而非cuda版本(因为本人电脑配置处理器 AMD Ryzen 5 5600U with Radeon Graphics (2.30 GHz) 机带 RAM 16.0 GB (13.9 GB 可用))
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
4.验证安装
python -c "import torch; print(torch.version)"
反馈:2.8.0+cpu,无报错下一步
5.安装jupyter
pip install jupyterlab
6.安装yolo8官方库ultralytics
pip install ultralytics
7.安装labelimg(可用 Roboflow 在线标注,所以注册了roboflow账户,可下载数据集)
pip install labelimg
8.验证yolo8是否正常
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
结果在C:\Users\runs\detect\predict

时间充裕进行下一步------------------------------------------------------------------------------------------------
Day 3-4:用YOLO训练一个极简检测模型(2h/天)
1.下载一个公开小数据集:Roboflow 搜索 “fruit detection” 找一个小规模(<500张)数据集,导出为YOLO8格式的zip
选择数据集:
https://universe.roboflow.com/yusuf-lkbmx/fruit-5jw1i/dataset/1
2.把文件组织成
C:\project\yolo-projects\fruit_dataset\
├── data.yaml
├── train/
│ ├── images/
│ └── labels/
└── valid/
│ ├── images/
│ └── labels/
多出来了没管
└── test/
├── images/
└── labels/
3.检查data.yaml 文件,检查里面的路径是否正确,一般来说正确
文档中names: ['0'],感觉到识别出的水果可能都会叫做0,后面学习原理后应该进一步把数据集中的水果分类啊(待办)
4.用 YOLOv8 训练 10 epoch
在激活环境下进入数据集目录
cd C:\project\yolo-projects\fruit_dataset
开始训练
yolo train data=data.yaml model=yolov8n.pt epochs=10 imgsz=640 batch=4
参数解释:
-
data=data.yaml:数据集配置文件 -
model=yolov8n.pt:使用 YOLOv8 nano 预训练模型(已经下载过,会自动复用) -
epochs=10:训练 10 个轮次(第一次训练,10轮足够看到效果) -
imgsz=640:输入图片尺寸 -
batch=4:每次迭代处理4张图片(因为是 CPU,设小一点避免内存溢出)
如果训练过程中提示内存不足,可以将 batch=2 或 batch=1。
5.观察 loss 下降曲线和 mAP 输出
你需要关注的是:
-
box_loss, cls_loss, dfl_loss:这三个损失值应该随着 epoch 增加而逐渐下降(比如从 1.5 降到 0.5 左右)。
-
mAP50:平均精度(IoU=0.5),数值越高越好。10轮后可能只有 0.3~0.5,这很正常。
-
如果训练过程中 loss 不下降或出现
nan,可能是学习率问题或数据问题,先继续观察。 -
耐心等待训练完成,可以去做别的事情,CPU 会一直运算。
6.训练结束后,命令行会显示类似:
Results saved to runs/detect/train
保存在runs/detect/train/weights/
-
best.pt:验证集上表现最好的模型 -
last.pt:最后一个 epoch 的模型
同时会生成训练曲线图 results.png(在 runs/detect/train/ 下),可以打开看一下 loss 曲线。

从下降趋势可以看出,变化不够平缓,可以加大epoch。
7.用训练好的模型预测几张验证集图片
在同一个命令行中执行(确保当前目录仍在数据集目录):
yolo predict model=runs/detect/train/weights/best.pt source=valid/images
这条命令会对 valid/images 文件夹里的所有验证集图片进行预测,结果保存在 runs/detect/predict 下。
也可以指定单张图片但是没做:
yolo predict model=runs/detect/train/weights/best.pt source=valid/images/某张图片.jpg
打开生成的图片,看看检测框是否正确。
查看10轮训练的结果:
1)mAP50: 0.522
2)loss曲线,在上面
3)漏检或低置信度的图片(低于0.25不显示置信度),分析可能的原因


4)调节阈值重新预测
yolo predict model=runs/detect/train/weights/best.pt source=valid/images conf=0.?
思考反馈:
-
box_loss、cls_loss、dfl_loss 三条曲线应该随着 epoch 增加而下降并趋于平稳。如果还在下降,说明可以训练更多轮。
-
如果 loss 曲线震荡剧烈或上升,说明学习率可能不合适或数据有问题。
-
·重点关注 mAP50 这一列(第三列从右数起)。对于一个小数据集、10个 epoch、CPU 训练:
-
mAP50 > 0.5 算不错
-
0.3~0.5 属于可接受(说明模型学到了基本特征)
-
<0.3 说明效果较差,但作为流程验证仍然有意义
-
更多推荐


所有评论(0)