YOLOv3训练自己的数据集

时间:2024-06-10 07:00:18

简要笔记

一、数据标注
1.安装好labelme工具
2.标注自己的数据,拿到json文件

二、编辑训练代码所需要的配置文件
config文件夹,create_custom_model.sh (参数:类别个数)
自动生成网络cfg文件

三、标签格式转换
1.labelme---->x1,y1,x2,y2
YOLO-v3—>Cx,Cy,W,H 相对位置(取值范围0-1)
json2yolo.py

四、写好数据和标签的路径
转换好的输出路径:data\custom\labels
json_floder_path:labelme 生成标签的文件夹

五、其他配置操作
1.数据放到相应位置,注意名字和label一致
2.classes.names 改成你任务里有的类别名字(按代码字典顺序)
3.train.txt与alid.txt中写好对应的路径

六、训练代码更改
1.训练代码参数
–model_def
–data_config
–pretrained_weights 预训练模型,迁移学习

checkpoint保存步长

七、预测操作
–image_folder data/samples 需要预测的数据
–checkpoint_model checkpoints/yolov3_100.pth 训练好模型的路径
–class_path data/custom/classes.names 画图时候要把框显示出来