1. 参考文档

https://blog.csdn.net/oJiWuXuan/article/details/107558286?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

2. 环境配置

首先将YOLOv5项目下载到本地,然后配置虚拟环境

conda create -n pytorch1.5 python=3.7

在YOLOv5中尽量使用python3.7。项目的测试平台为:
操作系统:windows10
IDE:Pycharm
python版本:anaconda Pyhon3.7
pytorch版本:torch 1.5.1
cuda版本:10.1
显卡:RTX 2080Ti

安装各类包

接着进入虚拟环境,使用pip安装必要模块(建议换成国内的源后进行安装):

进入anaconda prompt,激活相应的虚拟环境,服务器上就是base,分别输入以下命令:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
pip install numpy==1.17

pip install opencv-python

pip install tqdm

pip install pillow

pip install tensorboard

pip install pyyaml

pip install git

pip install pandas

pip install scikit-image

pip install Cython

如果有 require.txt 可以直接 pip install requirement.txt

服务器上的安装包基本上已经是都有的只有yaml是没有的。

Responsive Image

1.png

Responsive Image

2.png

因为pycocotools不能直接在windows上安装,所以先下载VIsual C++ 2015 *64 Native Build Tools Command Prompt,下载安装后打开,执行一下命令:

pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

Responsive Image

3.png

2.1. Microsoft Visual C++ Build Tools 安装错误

出现错误:

Responsive Image

4.png

这个问题很迷,之后我以管理员权限打开 Microsoft Visual C++ Build Tools 2015,重新安装,还是显示这种错误。可能是网络不够稳定,然后又装了几次,就成功了。安装pycocotools的过程可能需要一点时间,耐心等待。

在之后另外机器安装这个时,同样出现了这个错误,是因为网络不稳定的原因,如果想要比较顺利地下载可以采用两个方法:

换镜像源

临时使用镜像源

如果只想在单次安装时使用镜像源,可以在 pip 命令中加入 -i--index-url 参数:

1
pip install <package-name> -i https://pypi.tuna.tsinghua.edu.cn/simple

永久设置镜像源

  1. 创建或修改 pip 配置文件

    • 在 Windows 上,文件通常位于 %APPDATA%\pip\pip.ini
    • 在 Unix 或 macOS 上,文件通常位于 ~/.pip/pip.conf
  2. 在配置文件中添加以下内容

1
2
   [global]
   index-url = https://pypi.tuna.tsinghua.edu.cn/simple
  1. 保存文件后,新的镜像源设置就会生效

常用的 pip 镜像源

以下是一些常用的 pip 镜像源:

  • 清华大学镜像源:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云镜像源:https://mirrors.aliyun.com/pypi/simple
  • 中国科技大学镜像源:https://pypi.mirrors.ustc.edu.cn/simple

验证镜像源设置

设置完成后,可以通过以下命令验证当前使用的镜像源:

1
pip config list

这将显示当前的 pip 配置,包括使用的镜像源。

使用代理

设置 pip 代理下载

在某些网络环境下,直接使用 pip 下载 Python 包可能会遇到速度慢或者无法连接的问题。这时可以通过设置代理来解决。以下是设置 pip 代理的步骤:

  1. 临时设置代理: 可以在命令行中使用 --proxy 参数来临时设置代理。例如:

    1
    
    pip install <package-name> --proxy=http://username:password@proxyserver:port
    

    这里 <package-name> 是要安装的包名,usernamepassword 是代理认证信息(如果需要),proxyserver 是代理服务器地址,port 是代理端口。

  2. 永久设置代理: 如果希望永久设置代理,可以在 pip 的配置文件中添加代理设置。

    • 在 Windows 上,配置文件通常位于 %APPDATA%\pip\pip.ini
    • 在 Unix 或 macOS 上,配置文件通常位于 ~/.pip/pip.conf

    在配置文件中添加以下内容:

1
2
   [global]
   proxy = http://username:password@proxyserver:port

2.2. Apex 安装

GitHub上apex的项目https://github.com/NVIDIA/apex

打开cmd,进入apex相应的目录输入安装命令。即可成功。

环境配置完成。

3. 参数修改及解读

Voc_label.py这个文件中将classes的分类修改为数据集中标注的类别名

Responsive Image

6.png

在data目录下,复制一份coco.yaml文件并将其重命名为target.yaml,放在data目录下,并对target.yaml中的参数进行配置。按照数据集的类别数来分

Responsive Image

7.jpg

在根目录中对train.py中的一些参数进行修改,主要参数解释如下:

Responsive Image

8.png

参照上张图将代码修改为:

Responsive Image

9.jpg

第一处修改迭代次数,第二处修改选取的样本数,第三处修改采用的模型。第四处则是yaml文件的文件名要修改(看个人重命名的是什么)

3.1. 参数解释

  1. --epochs:训练的周期数。一个 epoch 表示使用训练集中所有样本训练一次。通常,epoch 越多,模型越精确,但训练时间也更长。默认值为 300。
  2. --batch-size:每次训练所选取的样本数。批次越大,显存占用越多,但训练速度可能更快。默认值为 8。
  3. --cfg:用于指定模型配置的 YAML 文件路径。默认路径为 models/yolov5m.yaml
  4. --data:用于指定数据集描述的 YAML 文件路径。默认路径为 data/boat.yaml
  5. --img-size:网络输入图像大小。默认值为 [640, 640]nargs='+' 表示可以接受多个值。
  6. --rect:启用矩形训练。矩形训练可以加速推理时间。
  7. --device:指定计算设备。可以选择 GPU(通过 CUDA)或 CPU。值可以是 0123 表示不同的 GPU,或留空表示使用 CPU。 这些参数帮助用户自定义和优化模型训练的各个方面。

3.2. models 模型修改

在models文件夹下将采用的模型参数修改一下.数据集有几种分类就改为几。

Responsive Image

10.jpg

点击运行train.py,即可开始训练。

Responsive Image

11.png

测试图片:运行 detect.py