学习了一段时间的yolv5,今天简绍下如何简单使用yolv5训练自己的模型。
一、下载yolv5源码 GitHub - ultralytics/yolov5 at v6.0,我下载的是v6.0的版本
二、创建cuda环境
解压后,在地址栏中输入cmd
1、创建cuda环境(这里一定要提前安装好Anaconda3,具体网上找一下)
输入命令conda create -n env_name python==版本号(我用的是3.9的版本)
这里一定要注意:python、pytorch等版本号的一致性
输入Y后,完成安装后,输入命令激活环境 conda activate yolv5new
2、安装pytorch,网上大多数是在线安装,本文简绍下离线安装。
首先通过nvidia-smi命令查看,自己显卡对应的cuda版本,这里我的显卡最高支持12.4的版本,所以安装比这个低一点的版本
从pytorch官网下载离线的torch和torchvesion,下载前最好查一下torch、torchvesion和python版本的对应关系
http://download.pytorch.org/whl/torch_stable.html(下载地址)
3、将下载的这两个文件复制到anaconda的环境文件夹下
4、离线安装
在环境中使用pip install 绝对路径
5、验证torch安装正确,进入python,导入torch和torchvesion成功后,打印torch版本(
print(torch.__version__)),如下图则正确安装
6、安装其他所需依赖,输入dir命令,检测requirements.txt是否在当前目录下,如不在,则需要指定
运行pip install -r requirements.txt 命令后,安装所需的依赖。
三、初步运行及调试
1、使用pycharm打开项目
2、设置刚才创建的环境
3、导入环境后,运行detect.py模块
提示numpy模块不可用,这种问题一般是版本不匹配造成的,估计是版本太高了换1.26.2试试
卸载numpy 输入命令pip uninstall numpy
安装指定版本的numpy,pip install numpy==1.26.2
4、再次运行,运行成功
5、运行train.py模块,提示如下错误
这个解决,将涉及np.int的地方改为np.int_
完成后,又提示这个
这个因为虚拟内存造成的,按下面的更改
6、再次运行,ok,这个是训练自带的coco128训练集
四、训练自己的数据模型
1、准备数据集分别建images和labels文件夹
2、在images文件夹中,建train和val文件夹,将待测试的数据分别放到这两个文件夹中
3、安装标注工具 pip install labelimg
4、标注数据,启动labelimg,标注数据
5、一一对数据进行标注
6、设置训练路径,准备训练
自己写一个数据路径yaml文件
更改数据训练路径
训练开始了。。。。。。
五、得到自己的训练模型
训练完成后,在输出路径下会生成如下文件,其中best.pt就是最好的模型,这里涉及到很多的技术,有兴趣的同学可以自行学习,今天就简绍到这里了。