pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决

首先非常感谢炮哥写的yolo5-gpu训练上手博客,他的博客首页和他录制的视频(下方有含有数据集的资料包的链接),写得非常详尽细致,适合新手上手。笔者参考了以上资料,但因为时间间隔与电脑配置差异,仍然遇到了一些问题,此文旨在记录自己的解决办法,并为同样遇到类似问题的朋友们提供解决的思路。
1.虚拟环境配置 对应的鲍哥原文:Anaconda安装与pytorch配置
笔者的电脑与炮哥相同,所以决定按照炮哥相同的版本进行后续安装。
下图为笔者电脑的相关参数
已经有Driver:472.19,所以没有再去官网安装
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

1.1 安装指定版本Anaconda anaconda有很多版本,下载anaconda时会自动下载python,这个python是用于anaconda中的base环境,可以理解为平时最常用的python版本。对于笔者而言,python3.7适用于大部分工程,故需要下载anaconda-python3.7。
Anaconda官网下载,如下图最新版本对应的是python3.9。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

根据这篇博客,应选择Anaconda3-2019.07(python3.7.3)。(https://repo.anaconda.com/archive/)pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

在Anaconda所有版本链接,找到Anaconda3-20109.07(python3.7.3),点击下载即可。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

1.2 安装指定版本pytorch-gpu 炮哥安装的pytorch带的是cuda11.1,为了与他保持一致,笔者也安装cuda11.1。
但是此时打开pytorch网站,pytorch-cuda11.1并不在显示中。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

点击Previous versions of PyTorch
发现直接安装的指令为

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge

pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

按以上指令运行,即使有梯子,也难以下载成功。
于是换源,起初根据只添加了原文里的三个源(add channels 代表添加源)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --set show_channel_urls yes

发现有报错,对比官网指令中的 -c pytorch -c conda-forge(指定pytorch源和conda-forge源),发现缺少了conda-forge的清华源,所以通过以下指令添加。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

再检查一下,输入conda config --show channels,结果应与下图相同。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

最后,输入conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1(不指定源,会自动在已有源里搜索),即可成功安装pytorch。
经pycharm检测(在炮哥原文末尾),pytorch-1.8对应的cuda为11.1,cudnn为8.0。
1.3 安装指定版本paddle 炮哥安装的是paddle2.1版本,打开paddle官网,最新版本为2.2,历史版本只到2.0。于是安装最新的2.2版本的paddle。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

如上图的安装指令,指定了paddle的清华源和conda-forge源,笔者安装时指定paddle清华源和conda-forge清华源。
输入conda install paddlepaddle-gpu==2.2.2 cudatoolkit=11.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
即可成功安装paddle。
后经pycharm验证,paddle2.2版本中,cuda为11.2 ,cudnn为8.1.0。
2. 安装打标签应用labelImg 对应原文labelImg安装
炮哥安装labelImg的方法,在我的电脑上无法使用。绕了很多弯路后,发现Anaconda官网有相关说明,且操作简便。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

conda install -c conda-forge labelimg

以上命令即可安装labelImg,笔者挂了梯子。
或者找到对应的清华源,理论上应该也可以。
若出现以下报错
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

在网址下载Microsoft C++的build tools, 点开下载好的build tools exe,勾选一下几项进行安装即可。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

3.yolo测试 对应原文yolo训练自己的训练集
3.1 pycharm 选择对应的python编辑器 炮哥采用的方法当然可以,但笔者习惯于在创建工程时就选择好。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

如果是第一次选择编译器,在上图界面点击previously configured interpreter–>地址方框后的省略号添加python interpretor,会出现下图选项框。按红笔所示顺序选择python地址。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

在select python interpreter界面点击OK后,页面如下图所示
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

备注:
Anaconda中,base环境中的python地址为:Anaconda安装文件夹–>python.exe
比如: D:\WinSoftware\installation\Anaconda_python3.7_201907\python.exe
Anaconda 中,其他虚拟环境的python地址为:Anaconda安装文件夹–>envs–>指定虚拟环境文件夹–>python.exe 比如:
D:\WinSoftware\installation\Anaconda_python3.7_201907\envs\env_pytorch\python.exe
3.2 pycharm 编辑变量parameter 可以在run-configuration-parameters里传入变量,而不需要在源文件里更改default值。
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

3.3 报错No SPPF 运行train后报错:AttributeError: Can’t get attribute ‘SPPF’ on
解决:权重文件weight下载错了,yolov5下载的是5.0版本,但权重文件下成了yolov5-6.0版本的权重。打开网址,往下滑到v5.0,展开Assets,下载5.0版本的yolo5s.pt
pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

3.4 页面文件太小 报错:pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决
文章图片

解决:
扩展虚拟内存,参考
3.5 运行train.py时检测gpu是否参与 【pytorch|yolov5-gpu版本部署与测试中遇到的问题与解决】不能采用任务管理器检查,并不准确。
应该在命令行输入nvidia-smi,查看gpu占用率。

    推荐阅读