YOLO v8n 踩的坑
准备魔改YOLO v8,实现一个基于YOLO v8的实时交通标识检测系统,这篇文章就是记录一下步骤。
那么问题来了,我甚至都没有做过视觉模型的项目,我该怎么做呢?
那么首先从YOLO v8开始,学习它的架构和实现。
准备工作
WSL 配置
Windows主力机就用的WSL2,可以直接按照
Microsoft的文档 安装WSL2。
使用添加程序和功能,找到Windows Subsystem for Linux,勾选它。
之后,这个:
1 | wsl --update |
后来发觉自带的命令行不太舒服,就安装了Windows Terminal。
这个选装,不影响使用,如果不想看直接跳到初始化Git仓库。
安装Windows Terminal
可以参考Microsoft的文档 安装Windows Terminal。
我直接使用GitHub的版本,下载页看这里:
Windows Terminal GitHub页面
下载那个后缀为msix的文件,双击安装。安装完以后Win+R输入wt,就可以打开Windows Terminal。
初始化Git仓库
初始化Git仓库,将ultralytics的仓库作为子模块复制到本地,正好帮我补充Git子模块的知识,小巧思这块儿。
(这一步是因为我的服务器没有GPU,没法使用opencv,只能使用opencv-headless代替,
之后在其他机器上的部署都是直接使用的pip内的ultralytics库)
1 | git submodule init |
pip安装ultralytics库之后,会有一个叫yolo的命令,这是ultralytics提供的一个命令行工具,用于训练和推理YOLO模型。
YOLO v8 复现
YOLO 识别复现

1 | from ultralytics import YOLO |

秒了。
YOLO 训练复现
1 | from ultralytics import YOLO |
有结果了,结果出在ultralytics/runs/detect/下,根据名字不同,每个文件夹对应一个训练任务。
就不指望这个训练结果能有什么了,上面这段只是用来验证一下能否训练的。
自定义数据集
感谢@Tianli发布的TT100K-YOLO数据集,原本的TT100K是无法直接用于YOLO训练的。Tianli这个集经过清洗,可以直接用于YOLO的训练。
当然,ultralytics自己也提供了一个数据YAML,也可以直接训练。(位置在ultralytics/cfg/datasets/TT100K.yaml)
我先是用的Tianli的数据集,然后再使用的ultralytics的YAML。
自定义数据集有点反应,但是效果比较差。试试看ultralytics的数据集。
一直被结果折磨。为啥效果还是差呢?


参数如下:
1 | yolo_coco.train(name='YOLOv8-COCO', epochs=300, data='./TT100K.yaml', |
DeepSeek给出了一份训练参数,如下:
1 | # Training Settings |
其中有这么一句话:
epochs: 300 # TT100K类别多(221类),需要更长训练;前两次300epoch仍未收敛
未收敛?加到700epochs试试。
秒了。附个结果以及两条曲线。


- 标题: YOLO v8n 踩的坑
- 作者: 容小狸
- 创建于 : 2026-04-06 17:14:49
- 更新于 : 2026-04-24 00:54:05
- 链接: https://blog.rongxiaoli.top/2026/04/06/YOLO-v8/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。