1. 参考文档
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,分别输入以下命令:
|
|
如果有 require.txt
可以直接 pip install requirement.txt
服务器上的安装包基本上已经是都有的只有yaml是没有的。
因为pycocotools不能直接在windows上安装,所以先下载VIsual C++ 2015 *64 Native Build Tools Command Prompt
,下载安装后打开,执行一下命令:
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
2.1. Microsoft Visual C++ Build Tools 安装错误
出现错误:
这个问题很迷,之后我以管理员权限打开 Microsoft Visual C++ Build Tools 2015,重新安装,还是显示这种错误。可能是网络不够稳定,然后又装了几次,就成功了。安装pycocotools的过程可能需要一点时间,耐心等待。
在之后另外机器安装这个时,同样出现了这个错误,是因为网络不稳定的原因,如果想要比较顺利地下载可以采用两个方法:
换镜像源
临时使用镜像源
如果只想在单次安装时使用镜像源,可以在 pip 命令中加入 -i
或 --index-url
参数:
|
|
永久设置镜像源
创建或修改 pip 配置文件:
- 在 Windows 上,文件通常位于
%APPDATA%\pip\pip.ini
- 在 Unix 或 macOS 上,文件通常位于
~/.pip/pip.conf
- 在 Windows 上,文件通常位于
在配置文件中添加以下内容:
|
|
- 保存文件后,新的镜像源设置就会生效
常用的 pip 镜像源
以下是一些常用的 pip 镜像源:
- 清华大学镜像源:
https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云镜像源:
https://mirrors.aliyun.com/pypi/simple
- 中国科技大学镜像源:
https://pypi.mirrors.ustc.edu.cn/simple
验证镜像源设置
设置完成后,可以通过以下命令验证当前使用的镜像源:
|
|
这将显示当前的 pip 配置,包括使用的镜像源。
使用代理
设置 pip 代理下载
在某些网络环境下,直接使用 pip
下载 Python 包可能会遇到速度慢或者无法连接的问题。这时可以通过设置代理来解决。以下是设置 pip 代理的步骤:
临时设置代理: 可以在命令行中使用
--proxy
参数来临时设置代理。例如:1
pip install <package-name> --proxy=http://username:password@proxyserver:port
这里
<package-name>
是要安装的包名,username
和password
是代理认证信息(如果需要),proxyserver
是代理服务器地址,port
是代理端口。永久设置代理: 如果希望永久设置代理,可以在
pip
的配置文件中添加代理设置。- 在 Windows 上,配置文件通常位于
%APPDATA%\pip\pip.ini
。 - 在 Unix 或 macOS 上,配置文件通常位于
~/.pip/pip.conf
。
在配置文件中添加以下内容:
- 在 Windows 上,配置文件通常位于
|
|
2.2. Apex 安装
GitHub上apex的项目https://github.com/NVIDIA/apex
打开cmd,进入apex相应的目录输入安装命令。即可成功。
环境配置完成。
3. 参数修改及解读
Voc_label.py
这个文件中将classes的分类修改为数据集中标注的类别名
在data目录下,复制一份coco.yaml
文件并将其重命名为target.yaml
,放在data目录下,并对target.yaml
中的参数进行配置。按照数据集的类别数来分
在根目录中对train.py
中的一些参数进行修改,主要参数解释如下:
参照上张图将代码修改为:
第一处修改迭代次数,第二处修改选取的样本数,第三处修改采用的模型。第四处则是yaml文件的文件名要修改(看个人重命名的是什么)
3.1. 参数解释
--epochs
:训练的周期数。一个 epoch 表示使用训练集中所有样本训练一次。通常,epoch 越多,模型越精确,但训练时间也更长。默认值为 300。--batch-size
:每次训练所选取的样本数。批次越大,显存占用越多,但训练速度可能更快。默认值为 8。--cfg
:用于指定模型配置的 YAML 文件路径。默认路径为models/yolov5m.yaml
。--data
:用于指定数据集描述的 YAML 文件路径。默认路径为data/boat.yaml
。--img-size
:网络输入图像大小。默认值为[640, 640]
。nargs='+'
表示可以接受多个值。--rect
:启用矩形训练。矩形训练可以加速推理时间。--device
:指定计算设备。可以选择 GPU(通过 CUDA)或 CPU。值可以是0
、1
、2
、3
表示不同的 GPU,或留空表示使用 CPU。 这些参数帮助用户自定义和优化模型训练的各个方面。
3.2. models 模型修改
在models文件夹下将采用的模型参数修改一下.数据集有几种分类就改为几。
点击运行train.py
,即可开始训练。
测试图片:运行 detect.py