yolov5环境配置可能遇到的问题

YOLOv5环境配置中可能出现的问题

今天是2024.3.7 yolov5配置可能出现版本更新中出现各种问题,现在我就写一篇我遇到的问题,给大家避雷!(2024.4.2更新了些网友反映的问题以及解决办法)

我yolov5光光配置环境就花了五天,所以想写一下文章,减少后面的人碰壁的可能

本文章基于"炮哥带你学"博主的文章:(优先看他的文章,我的文章只是我配置时候出现的问题)目标检测---教你利用yolov5训练自己的目标检测模型_目标检测 教你利用-CSDN博客

NVIDIA驱动安装与更新:

1.CUDA版本过高

CUDA版本过高可能会出现有些模块例如pytorch找不到对应的版本,paddle找不到稳定的版本等等

我的建议是11.0-11.2左右就刚刚好。

然后我选择11.1.1的原因是:刚刚好所有包都可以找到对应的版本(炮哥也是这个版本)

可以去以下网址先选择版本:(电脑支持以前的版本,只要不高于电脑支持的版本就行)

CUDA Toolkit Archive | NVIDIA Developer

也可以和我一样:CUDA Toolkit 11.1.1  (推荐)这样就能跟博主炮哥一样,减少麻烦

我的版本:CUDA Toolkit 11.1 Update 1 Downloads | NVIDIA Developer

如果因为之前安装过其他版本,可以进行卸载,参考:

CUDA卸载&&重装-CSDN博客进行卸载

2.Anconda环境搭建问题

首先因为Anaconda版本越高,自带的python版本越高,如果版本太高,在进行打标签labelimg的时候容易出现闪退的情况         

 如果出现闪退可以参考:labelimg打框时闪退_labelimg 拉框闪退-CSDN博客​​​​​​   

但是我的话直接简单粗暴,下载旧版本anconda,这样,他默认配置python环境是3.8的能直接使用,而且不会出现各种问题,安装完具体操作看炮哥的

Anaconda历史版本网站

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirroranconda

我的版本:(同炮哥版本一样)

3.pytorch环境创建

创建虚拟环境conda create -n 环境名字(英文) python=x.x(python版本),如下,我就是创建了一个名字叫pytorch,python是3.8版本的环境。

conda create -n pytorch python=3.8

创建好后:

conda activate pytorch

进入环境,然后看下一步:

这个经历过无数次尝试,我得到一个比较好的流程:

官网那里默认的版本都别选,因为会版本对应不上

我的选择是点击:左下角Previous version of PyTorch(选择更多版本)

然后因为我的是11.1.1的所以,我选择

                对应的是CUDA 11.1的,注意是v1.8.0    前面的对应的不是11.1.1可能是11.1.0

                                            (下一步重要跟着我来,不然速度很慢)

                                                从上图我们可以得到安装代码如下:

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

但是,根据文章评论区反映,如果直接输入安装代码会非常慢,一直卡在Solving environment,通过查CSDN,我找到了比较快的方法:pytorch下载太慢的解决办法-CSDN博客

该方案就是将官网的下载路径,改到清华镜像源的路径,先用activate激活自己之前创建的环境后,在命令行输入以下代码:

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 --set show_channel_urls yes

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

这时候我们输入安装代码,会发现出现错误:

可能是在镜像里找不到这个版本的cudatoolkit 11.1

我的思路如下:

先从官方那安装cudatoolkit=11.1再执行安装指令(单独分开来,这样到时候他会检测到你已经安装了cudatoolkit 11.1 后就会跳过寻找这个包了)不知道佬们有没有别的方法

conda install cudatoolkit=11.1 -c nvidia/label/cuda-11.1.1 -c conda-forge

安装完后再执行:(不需要填写 -c pytorch -c conda-forge就不会一直卡在Solving environment)

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1

                                                       然后等待安装...... 20-30分钟吧

4.paddlepaddle环境安装

如pytorch环境安装一样,首先在base环境下创建一个新的环境来安装paddlepaddle框架。首先创建一个新的环境名叫paddle。执行如下命令。

conda create -n paddle python=3.8

 创建好了名叫paddle这个环境以后,进入到这个环境中(可以在pytorch环境下进入),执行如下命令。

conda activate paddle

然后到这一步也有讲究:

因为版本更新:现在没有2.1版本的paddle了,但是用2.6也能运行只要是CUDA11.2的就行

尽管你CUDA是11.1的但是也无妨

具体选择如下

然后再paddle环境下输入指令:

conda install paddlepaddle-gpu==2.6.0 cudatoolkit=11.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge 

到这步了,然后等吧 ......镜像好像也没有 如果中途出现各种错误 csdn都有对应的解决办法

一般下载中断出现问题的话,可以再重复下载,下载过的文件会直接跳过。然后安装的时候如果出现类似文件已经存在的命令,直接按照他的意思删掉相应文件。还有一些各种问题,只能搜csdn了

5.pycharm安装

去官网无脑下载最新版本

我的版本是2023.2

本来以为报错是因为pycharm版本问题,然后下载了2021版本的,但是依然报错,所以还是安装回来应用商店的版本。

然后我也会遇到一些问题,比如找不到conda可执行文件

解决办法参考:pycharm找不到conda可执行文件怎么办?-CSDN博客

完美解决!

致辞,搭建环境问题基本解决了。

6.打标签labelimg

能不用lablme就不用,因为导出格式为json,后续不太好转换,转换软件也容易出现各种问题......亲身体验过了。

按照文章下载安装包。然后当你发现你的labelimg会出现画框框就出现闪退的情况。大概率是你的python版本过高。你可以选择进入你刚刚搭建好的pytorch环境(如果跟着文章来的话你创建的python环境应该是3.8,进入环境后python就是3.8再打标签就不会闪退)。因为你创建的时候就已经写了python==3.8 

然后再进入VOL2007文件夹运行代码开始打标签。

注意一个点:

Open Dir是图片路径也就是JPEGImages

Change Save Dir是保存路径也就是Annotations

标注前要设定好,不然可能白打了,也可以打标签的时候注意下文件夹有没有出现新文件

然后我发现我有一个独有的问题,csdn都没搜到解决办法。

就是我打标签,打完标签然后退回去看发现之前打过的标签位置错乱了!!!

经过半天排查。。发现是我的图片名字出现重复(因为我是一键重命名的)jpg,jpeg文件名字类型不一样,就可以用同一个名字,但是labelimg不知道你文件不一样,所以只要标了一个框框,相同名字的文件也有框框导致框框错乱。所以一个改动,相同名字的图片也会一起改动...

7.VOC标签格式转yolo格式

文件格式跟炮哥一样基本没问题。主要是路径地址要改对,以及你的转换代码要和VOCdekit文件处于同一个目录下,例如:

共同处于数据转换(文件名自定义)文件夹下

遇到的问题:

1.把VOCdevkit复制到数据转换目录下出现报错(具体报错当时我没截图)反正复制过去发现Annotations里面文件夹都不见了。

解决办法: 在桌面创一个文件夹例如名字叫“数据转换”,把VOCdevkit放进去,然后用pycharm打开,点数据转换,然后创建VOL格式转换python文件,把代码复制进去(144行的那个),然后按照流程转换,即可。

2.转换完发现文件夹images/train 或者images/vol里没有文件或者有空数据标签(点开看看里面是否有数据)大概率是没有按照流程走,比如转化代码没跟VOCdevkit在同一个目录下。或者classes = ["xxx"]中没对应上你的标签数据。建议反复看看确保格式正确

8.train文件出现的问题

1.ValueError: zero-size array to reduction operation maximum which has no identity

网上说:要加上assert array.size != 0验证。但是在yolov5检测中很大概率是训练数据中只有空标签数据。也就是转换那一步出现的问题。数据标签里面没东西,参考上一步

2.可能会出现Could not find  xxx

首先第一事情检查路径,一般会有提示在那个路径找不到的。不行就复制报错去csdn,能成

3.UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte

解决:按照下面文章步骤修改即可

win10下Yolov5-5.0的使用问题_unicodedecodeerror: 'gbk' codec can't decode byte -CSDN博客

4.subprocess.CalledProcessError: Command ‘git tag‘ returned non-zero exit status 1.

参考以下文章:

YOLOv5版本运行报错解决——subprocess.CalledProcessError: Command ‘git tag‘ returned non-zero exit status 1._command 'git tag' returned non-zero exit status 1.-CSDN博客

5.tag = subprocess.check_output(‘git tag’, shell=True).decode().split()[-1]
IndexError: list index out of range

超过序列,自查数据集,看看是不是标签没匹配,少标签,多标签什么的。

6.UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb2 in position 6:invalidstartbyte

一般和3适合配套的,问题会一起出现解决方法如下:

YOLOv5——报错解决:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb2 in position 6:invalidstartbyte_yolov5unicodedecodeerror: 'utf-8' codec can't deco-CSDN博客

7.AttributeError: Can't get attribute 'SPPF' on <module 'models.common' from 'D:\\yolov5\\yolov5-5.0\\yolov5-5.0\\models\\common.py'>

这个很常见,应该是算法确实,解决方法如下:

AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘H:\\yolov5-5.0\\models\\_can't get attribute 'sppf' on-CSDN博客

8.Dataset not found

经过我的实验,发现是路径问题,因为我的我把yolo文件放在桌面上了,路径包含中文“桌面”

如图:

解决办法:只需要把文件放在全英文路径即可

9.AttributeError: module numpy has no attribute int. 

http://t.csdnimg.cn/iP8s2 (网友Alphanic提供的方法~)

开始训练......

至此。我遇到的所有问题都在这了,还有一些细小的问题我就不说了。可以把报错代码都复制到csdn就好了(前人都会经历过的~)~希望后面的人能够一帆风顺吧,不再花太多时间配置环境。

  • 26
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 38
    评论
Yolov5是一个用于目标检测的深度学习模型,它基于PyTorch实现。在配置Yolov5的GPU环境之前,你需要确保以下几点: 1. 安装CUDA和cuDNN:首先,你需要安装适合你的GPU版本的CUDA和cuDNN。可以从NVIDIA官方网站下载并按照说明进行安装。 2. 安装Anaconda:建议使用Anaconda来管理Python环境。你可以从Anaconda官方网站下载并安装适合你操作系统的Anaconda。 3. 创建虚拟环境:在Anaconda中创建一个新的虚拟环境,可以使用以下命令: ``` conda create -n yolov5 python=3.8 ``` 4. 激活虚拟环境:创建完虚拟环境后,需要激活它。可以使用以下命令: ``` conda activate yolov5 ``` 5. 安装依赖库:在激活的虚拟环境中,使用以下命令安装Yolov5所需的依赖库: ``` pip install -r requirements.txt ``` 6. 下载Yolov5代码:可以从Yolov5的GitHub仓库中下载代码。使用以下命令克隆仓库: ``` git clone https://github.com/ultralytics/yolov5.git ``` 7. 配置模型和权重:在下载完代码后,你可以选择下载预训练的权重文件,或者使用自己的数据进行训练。可以参考Yolov5的文档来了解如何配置模型和权重。 8. 运行Yolov5:完成以上步骤后,你可以使用以下命令来运行Yolov5: ``` python detect.py --source <输入图片或视频路径> ``` 以上是配置Yolov5 GPU环境的一般步骤。具体的配置可能会因为操作系统、GPU型号等因素而有所不同。如果遇到问题,建议查阅Yolov5的文档或在相关社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值