# 一、环境准备
首先创建一个 conda 虚拟环境,完成 yolo 相关依赖的搭建。
pip install yolo
pip install ultralytics
pip install ncnn
pip install onnx #用于格式转换
之后创建一个空目录,目录结构如下:

准备好需要用来训练的一部分图片(50-100 张左右即可,多点也可以)。将图片分别放到 images/train、images/val、images/test 三个目录中。
# 二、数据标注
准备好环境之后,新建一个 classes.txt 文件放到 labels/train 文件夹下,按顺序写入你的类别名称。例如我这里训练的模型用于标注电池。

那你的文件内容就是:
battery
ok,创建完成之后就开始对数据进行正常标注,然后将结果导出到labels/train文件夹下
# 三、开始训练
首先需要写入一个配置文件xxx.yaml写到yolotrain目录下,内容如下
path: D:\yolotrain # 数据集根目录
train: images/train # 训练集相对路径
val: images/val # 验证集相对路径
test: images/test # 测试集相对路径
nc: 1 # 类别数量
names: ["battery"] # 类别名称列表
# 高级参数(可选)
roboflow: {} # 兼容 RoboFlow 数据集
download: null # 数据集下载URL
在虚拟环境下进入 yolotrain 目录输入指令开始训练:
yolo detect train data=D:/yolotrain/xxx.yaml model=yolov8s.pt epochs=100 imgsz=640 batch=16 device=0
若要进行验证把train改成val就行了,然后那个yolo模型我放在我的git仓库里了 yolo模型
# 四、导出onnx
yolo export model=D:/yolotrain/best.pt format=onnx
训练完后,可以从新得到的run文件夹下的best.pt(这个就是训练的最好的模型)文件挪到外面,在调用上面那个命令生成best.onnx文件
然后再创建一个xxx.yaml文件写入
type: yolov8
name: yolov8s-r20230520
display_name: koen
model_path: best.onnx
nms_threshold: 0.45
confidence_threshold: 0.25
classes:
- battery
这个 display_name 可以按需修改,这个文件就是你模型的配置文件。
# 五、使用yaml操作
进入AnyLabeling软件,左侧tab栏有AI选项,点击,选择自定义模型,选择刚刚配置的yaml文件即可
