一. 环境安装
参考视频
- Pytorch环境安装细节
- pytorch安装:一个单独的环境中,能使用pip就尽量使用pip,实在有问题的情况,例如没有合适的编译好的系统版本的安装包,再使用conda进行安装,不要来回混淆
- CUDA是否要安装:如果只需要训练、简单推理,则无需单独安装CUDA,直接安装pytorch;如果有部署需求,例如导出TensorRT模型,则需要进行CUDA安装
- Pytorch安装注意事项:必须使用官网的命令进行安装,否则安装的是cpu的版本
- Pytorch安装细节:(显卡16系列,采用CUDA10的版本,否则会出现精度为nan;显卡30系列,务必安装CUDA11.x版本)
如果包实在下不下来,可以采用如下的方法:- 直接输入命令,然后复制下面的地址从浏览器中下载
- 然后再重新输入命令,就可以很快下载下来了。
- 直接输入命令,然后复制下面的地址从浏览器中下载
- 正确使用windows终端:
- 使用cmd,而不是powershell(无法激活环境)。
- 在其他软件,如Pycharm,vscode中也要注意!
vscode
配置cmd终端
- 可能出现的问题
- Arial.ttf字体文件无法下载
- 手动下载,放到对应的位置,windows下的目录是:~/AppData/Roaming/Ultralytics
- 页面文件太小,无法完成操作(本质上是因为内存不够)
- 调整训练参数中的workers,设置为0
- 修改虚拟内存,将环境安装位置所在的盘,设置一个较大的参数
- ‘Upsample’ object has no attribute ‘recompute _scale_factor’
- pytorch版本过高导致,可以选择降版本,1.8.2目前是不会报错的版本
- 如不想降低版本,可以修改pytorch源码,打开报错的unsampling.py,删除
recompute_scale_factor这个参数
设置电脑虚拟内存
:
二 .数据集制作
-
划分数据集
提示
:划分好的数据集有两种格式:(我猜想,代码从data.yaml中读取train和val路径以后直接读取下面的所有文件(图片和txt文件),然后再进行处理,因此以下两种方式等价)
(1)图片和txt文件分开存储在imgs和labels文件夹下
data/
├── train/
│ ├── imgs/
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ ├── ...
│ │
│ └── labels/
│ ├── img1.txt
│ ├── img2.txt
│ ├── ...
│
└── val/
├── imgs/
│ ├── imgA.jpg
│ ├── imgB.jpg
│ ├── ...
│
└── labels/
├── imgA.txt
├── imgB.txt
├── ...
(2)图片和txt文件统一存放在train和val文件夹下
data/
├── train/
│ ├── img1.jpg
│ ├── img1.txt
│ ├── img2.jpg
│ ├── img2.txt
│ ├── ...
│
└── val/
├── imgA.jpg
├── imgA.txt
├── imgB.jpg
├── imgB.txt
├── ...
三. 模型训练
- YOLOV5 训练
在项目的根目录下运行一下命令
# Train yolov5x on score for 300 epochs
python3 train.py --img-size 640 --batch-size 16 --epochs 300 --data ./data/score.yaml --cfg ./models/score/yolov5x