关于上一篇的YOLOv5讲到数据集打包结束,之后的后续训练工作会在此篇继续进行说明。(Linux系统下训练数据集,在此用的是Ubuntu20.04)
第一步准备工作先是配置环境:
在当前文件目录下打开终端输入:
pip install -r requirements.txt
安装cuda 11.2,在根目录下打开终端:
sudo sh cuda_11.2.0_460.27.04_linux.run
这里大家可以做一个参考,需要详细内容的请自行在官网查看,在这里附上官网链接:https://developer.nvidia.com/cuda-toolkit-archive
接下来运用官网给的模型运行程序:
在当前文件夹下打开终端输入命令:
python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/
这行命令其中:weights是要导入模型的路径;img是传入图片的像素大小;conf是阈值,识别的结果超出阈值才会输出;source是识别图像的路径。
更多的操作可以打开detect.py查看,用摄像头打开的程序命令为:
python vedio_detect.py
下一步正式进入自己的数据集训练部分:
先进入“./datasets/Own_coco/”里面有三个文件夹,分别是“images,labels,xml_dir”,依次进入“images/train2017”,“labels/train2017”,“xml_dir”,将里面的文件清空;
1.将自己打标好的“.xml”文件放在“./datasets/Own_coco/xml_dir”,将图片放在“./datasets/Own_coco/images/train2017”;
2.回到当前文件的目录下运行:
voc_lable.py
进入此修改第12行,加入训练物品的名称,命令:
python voc_lable.py
3.配置文件
在当前文件目录下进入“./data”,打开Own_coco.yaml;
配置文件解释:(第11行的“path: datasets/Own_coco”是数据集的目录,不需要改动;第12行的“train: images/train2017”是训练图片的文件位置,不需要改动;第13行的“val: images/train2017”是评估的文件位置,可以自行改动;第14行的“test:”是测试集的文件位置,可以添加自己的测试集;第17行的“nc:1”是自己数据集的类别数量,第18行的“names: ['glasses']”是类别名称,有多少就写多少,各个类别之间用逗号隔开。)
4.开始训练:
在当前文件夹下打开终端输入:
python3 train.py --img 640 --batch 16 --epochs 1000 --data Own_coco.yaml --weights yolov5s.pt --cache
注释:(img是传入图片像素的大小;batch是每一次迭代送到网络的图片数量,也称作批数量,增大这个可以让网络在较少的迭代次数下完成一个epoch,在固定最大迭代次数的前提下,增加batch会延长训练时间,但会更好的寻找到梯度下降的方向,如果在大家的显存足够大,可以适当的增大这个值来提高内存的利用率,需要不断地尝试选取,过小会让训练不够收敛,过大会陷入局部最优;epoch是迭代的次数;data是配置文件;weights是模型。)
等待训练结束会输出:
Results saved to runs/train/exp4
训练出的模型在“./runs/train/exp/weights/best.pt”
最后一步就是运行自己的模型啦:
python detect.py --weights runs/train/exp/weights/best.pt --img 640 --conf 0.25 --source data/images/
成果展示:(以我自己训练的药品数据集为例给小伙伴们看一下)
1.文件detect.py的源码:(只截取了两页,这两页是改动较多和相对来说比较重要的部分)
2.在进行训练过程中,终端会显示:
3.训练结束后,训练的数据集结果图片:
4.运行自己的模型,在终端输入python3 detect.py,会显示:
5.如果是直接用自己电脑自带的摄像头代号“0”投出的图像:
6.如果是用外接摄像头,我这里接了深度相机,代号“2”,投出的图像:
————————————————————————————————————华丽的分割线——————————————————————————————————————————
到这里就全部讲完啦,两篇之间隔得时间有点久了,但总归还是结束了,下篇我会继续写有关于上一篇发布的旭日X3派的项目实战的详细内容,可能篇幅和每篇之间更新时间会稍微有些长,毕竟是个比较大的工程啦,祝小伙伴们秋日顺遂!
评论(16)
您还未登录,请登录后发表或查看评论