1、安装Anaconda(激活虚拟环境用的)
2、安装vscode(代码编辑器),并在其中配置Python
3、使用Anaconda创建一个Python环境,如conda create python3.10
4、安装cuda和cudnn:
使用nvidia --smi查看自己电脑支持cuda的最高版本,比如我的电脑最高支持cuda11.6,那我就可以安装cuda11.3,再下载对应版本的cudnn(版本一定要对应),下载完成之后,把cudnn相关文件复制到cuda文件夹中(cuda相当于一个工作台,cudnn相当于使用的钳子扳手),下载完成之后配置环境变量,想用那个cuda就把哪个cuda放上面
5、安装torch库,推荐使用轮子安装,不然很慢,先把轮子下载到电脑上,再用pip命令安装到创建的虚拟环境中(这里的torch版本一定要和cuda版本对应,版本情况请查阅其他资料)
torchvision同理
安装完成之后,在虚拟环境python中,import torch, torch.__version__以及import torchvision, torchvison.__verision__查看,如出现torch1.11.0+cu11.3则说明安装成功
6、从github上下载yolov5-master(下载其他版本也可以,根据需要自行选择)
7、(标注数据集就不说了,很简单,使用labelImg标注即可,数据集标签文件是.xml格式)
8、将vscode中的terminal切换为cmd,因为vscode中terminal默认是powershell,Powershell激活虚拟环境需要其他操作,cmd只需要activate即可
9、数据集预处理
运行splite_train_val.py划分训练集验证集测试集
运行xml2yolo,将.xml标签文件转换为.txt文件,注意生成文件路径一定不要出错,包括对应图片位置的文件夹以及生成标签的文件夹(不然影响后面训练)
10、github下载预训练模型,比如要训练yolov5s模型就下载yolov5s.pt
11、在data文件夹下创建自己的myvoc.yaml,写自己的数据路径以及类别
12、开始训练:
参数配置
epoch最好100以上
device选0(GPU),给anaconda所在的盘分配一些虚拟内存
yolo算法存在nan值,及说明在训练的时候就出现问题了,所以我们要train.py里面作出修改,
一,在train.py中使用Crtl+F搜索amp把amp = check_amp(model)直接注释掉然后在下面把amp赋值为False(GTX16xx系列显卡的问题),其他系列显卡忽略
13,、tensorboard --logdir=runs/train,打开tensorboard,里面有日志文件,训练参数可视化
14、预测,运行detect.py即可,可预测图片、视频,检测摄像头
15、运行gen_wts.py一定用命令行操作 python .py