1.本博客仅作为个人学习使用,以防未来忘记。
2.如果这篇文章有幸被浏览,有问题欢迎提问,虽然楼主也是小白哈哈
3.我这里已经安装了最新版的anaconda3和pycharm以及cuda(pytorch安装在虚拟环境,我下面会说),注意这里pytorch和cuda的版本必须匹配(之前下载的不匹配或cuda只支持cpu,后续搞了半天)。
4.注意:pip pytorch的时候只用原网站,就是官网网站,使用清华源只能下载到支持cpu而不是cuda的pytorch。安装pytorch,注意下载cuda,那个博客没写。
5.我这里是用windows训练的模型,不是在Linux/macOS上训练,以后可能会写,如果有的话我会回来补充的。
觉得官网直接下载太慢,那就科学上网吧。
以上是注意事项,下面是正题。
一、下载CUDA
二、从github下载yolov5库
下载地址,下载这个压缩包
三、创建一个虚拟环境
1.创建一个容纳虚拟环境的文件夹,将下载的yolov5库的内容全部复制过来。
我这里是D:\yolov5_test2
2.打开cmd,win+r输入cmd或者在搜索中搜索命令提示符
2.导航到你想创建虚拟环境的目录
cd C:\projects\myproject
如果你想换盘,也就是说你是在c盘打开cmd但目标虚拟环境在d盘,可以像我一样输入
cd /d D:\yolov5_test2
其中,在cd后加入/d就是换盘指令。
3.创建虚拟环境
python -m venv venv
如图
然后在yolov5_test2文件夹中就能找到一个叫venv的文件夹,它就是你的虚拟环境
4.激活虚拟环境
输入以下代码,回车
venv\Scripts\activate
出现如图所示的情况,代表成功激活
四、关于数据集
已经准备好的数据集,其构成如图
其中,前三个文件夹的内容分别都是一个图片文件夹,一个标签文件夹。标签文件夹内的文件应是txt文件,如果是xml文件,需要写一个算法转换,我这里暂时没有xml文件,所以没写转换,以后有机会就补上,急着用的可以去找一下教程,这个还是比较简单的。
另外还有一个比较重要的是那个data.yaml文件,打开是以下内容
代表一会训练模型时的检索路径,nc代表种类,names代表训练结果的名字,也就是训练结果框上的名字。
将数据集的test、train以及valid文件夹都复制粘贴到目标文件夹,我的就是yolov5_test2文件夹内,将data.yaml粘贴到目标文件夹的data文件夹里面。
五、下载 依赖项 以及pytorch
在刚才激活虚拟环境的界面输入如下代码
pip install -r requirements.txt
然后开始下载……(建议科学上网,不然会有点久)
这里好像不小心下载了torch库,那有必要检查一下版本对不对。
在命令行输入
python -c "import torch; print(torch.__version__)"
可以看到确实是下错了,是cpu+,不支持cuda加速,即不能使用GPU加速,如果仅想用cpu训练模型的话可以忽略下面的步骤,直接跳到训练模型了。
1、首先应该卸载原有的torch和torchvision库,防止版本冲突
pip uninstall torch torchvision
2、其次需要下载合适版本的pytorch,必须到官网下载,清华源的下载不了对应cuda版本的pytorch,最后版本检测还是只支持cpu,楼主这曾经被卡了好久。
在命令行输入官网提供的代码,一定要选择匹配自己cuda版本的pytorch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
3、下载好以后,再次检测版本,可以看到版本已经对了
下面就可以开始训练模型了
六、训练模型
输入以下代码,这里是我的代码
python D:\yolov5_test2\train.py --img 640 --batch 8 --epochs 100 --data D:\yolov5_test2\data\data.yaml --weights D:\yolov5_test2\yolov5s.pt --name yolov5s_results
其中,在你的目标文件夹里,由于你复制了yolov5库,里面应该有个train.py文件。图片设为640,每批次8张,训练100轮,数据源来自目标文件夹的data文件夹里的data.yaml文件,基于yolov5库里的yolov5s.pt权重文件进行训练。
训练过程如图所示。
训练结束,训练成果位于 目标文件夹\runs\train文件夹中,其中,exp4/weights文件夹中的best.pt或者last.pt就是训练好的模型,可以根据需要二选一。
七、使用模型
1.使用pycharm打开项目,我这里是yolov5_test2
2.打开detect.py
修改其中的三个文件,分别是模型文件、需要标注的图、标注yaml文件,如图
例如第一个框可以改成上面的best.pt文件,后面的就不多说了。
3.开始标注,大功告成。