(47条消息) 教程:超详细从零开始yolov5模型训练_抛到海里的博客-CSDN博客_yolov5
本人第一次接触yolov5,基本上从头看的这篇博客,本博客主要目得是按照上述博客安装时候遇见的问题来阐述一下。
1.anconda环境搭建
2.yolov5下载
3.素材整理
4.模型训练
5.效果预测
首先说一下,一直截止到yolov5模型训练之前,都是在win10的环境中按照步骤来的。在yolov5模型训练中,使用服务器。
1.anconda环境搭建(略过)
需要注意全程是在yolo环境下运行的!!!
2.yolov5下载
https://github.com/ultralytics/yolov5
与原博客所截图的文件不同,缺少runs和weights,故自己创建runs文件夹,runs文件夹包括detect和train两个文件夹;weights包括一个.sh文件,可以看看这个https://docs.ultralytics.com/。上述两个文件我是从网上下载下来,又复制到yolo中去的。
然后在yolo目录下运行
pip install -r requirements.txt
下载好依赖。
3.素材整理
在yolo的同级目录下或yolo目录下新建yolo_A文件夹(我是在yolo目录下建的),里面包括
其中,子文件夹images用来存放样本图片,labels文件夹用来存储标注图片的信息(标注的类别,x,y,长,宽)。A.yaml文件用来存放一些目录信息和标志物分类。
详细步骤见本文初的链接(47条消息) 教程:超详细从零开始yolov5模型训练_抛到海里的博客-CSDN博客_yolov5
4.模型训练(开始在服务器上运行!!)
注意在服务器运行时候,命令行前面不加!
python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/
detect.py运行得到的结果保存到runs/detect/exp中,可以直接查看,无需命令
重点来了:开始训练模型
注意在服务器运行时候,命令行前面不加!..代表上级目录,自己输入代码的时候一定要注意好yolo_A文件夹与yolo文件夹的位置关系,还需要自己把yolov5s.pt放到yolo的目录下(或者自己写上yolov5s.pt的路径)。
建议自己新建一个train.py文件,重新命名一下。里面方便自己修改参数
python train.py --img 640 --batch 50 --epochs 100 --data ../yolo_A/A.yaml --weights yolov5s.pt --nosave --cache
我运行上述命令的时候,一直报错:
RuntimeError:CUDA out of memory.Tried to allocate 184.00 MiB
百度了一下说是batch_size太大,要调小,还有epoch也调小,但是我在都调成参数为1的时候,还是报这个错。后来才知道,原来的服务器中这一行的命令已经被大佬重新设计过了,不用输入参数--img 640 --batch 50 --epochs 100。
所以就是直接输入
python train.py --data ../yolo_A/A.yaml --weights yolov5s.pt --nosave --cache
train.py 运行得到数据存放到了runs/train/exp中,自己可以打开查看。得到的best.pt和last.pt存到了runs/train/exp/weights中。
接下来就是使用得出的结果来测试了,需要注意的是,文件所在的路径,不要搞错,自己找几张测试图片运行即可
python detect.py --weights ./runs/train/exp2/weights/best.pt --img 640 --conf 0.25 --source ../test2.jpg