借助博客记录一下自己训练数据集的经历
代码直接走github上面下载就行,默认现在是detect和trian都能跑通了的状态;
本人是用labelme对文件进行的标注,生成的是json文件,需要转成txt文件才能拿到yolov5上面用,具体怎么转的看我的另一篇博客。
ok下面开始创建自己的数据集;
创一个文件夹,想怎么命名放在哪都行,我在桌面上创了个mydatasets文件夹
images放置jpg文件,labels放置txt文件(LOVE_PRE目前没用到跟着另一个博主建的)
images和labels里面都分别创建train和val文件夹存放训练集和验证集;
把自己的数据集分好之后到代码里面操作
能动的大概就这些指令,
--weight 权重文件,刚开始用yolov5s.pt
--cfg yolov5的模型,yolov5s.yaml配置文件 有能力就自己调调
--date .yaml配置文件,下面会讲
--epoch 迭代次数,CPU跑的话调小点吧
--bath_size 多少张图后进行权重更新,一样显卡不行就调小点
创建一个自己的.yaml文件 名字自己随便取我取得mycoco.yaml嘿嘿
path: /home/lyn/Desktop/mydatasets # dataset root dir数据集的地址
train: /home/lyn/Desktop/mydatasets/images/train # train images 训练集图片的地址
val: /home/lyn/Desktop/mydatasets/images/val # val images (relative to 'path')验证集图片的地址
test: # test images (optional)
# Classes自己标注的有多少类在下面慢慢列
names:
0: SmallCar
1: BigCar
2: NonMotorVeh
3: Cyclist
4: R
5: RG
6: RR
7: RY
8: LR
9: Pedestrain
10: LY
11: G
12: B
13: FR
14: FG
然后可以运行trian.py进行训练了
python train.py --weights yolov5s.pt --cfg models/yolov5s.yaml --data data/mycoco.yaml --epoch 100 --batch-size 6 --img 640 --device cpu
我是这么跑的,详细回头再说吧。