我想搭建一个YOLOV5的环境,然后没想到一折腾就是两天,最后总算成功运行了,在这里我只想分享一下我的环境,希望能给那些被环境所困扰的人一个解决方案。
在这个过程中,我主要遇到了两个问题,一个是运行的时候无法调用GPU,报错跟CUDA有关系,另一个问题是YOLOV5能运行了,结果出来的模型预测没有框,mAP为零,百度了一下,还是环境的问题。
话不多说,直接分享我的环境和一些操作细节。
主要环境
我的电脑是Win11,这套环境Win11和Win10都能用,环境搭建用的Anaconda
CUDA=10.2
cudnn=7.65
python=3.8
torch=1.8.0+cu101
torchaudio=0.8.0
torchvision=0.9.0+cu101
第一步:安装CUDA与cudnn
CUDA10.2下载:下载链接
与CUDA10.2对应的cudnn下载:下载链接,提取码:6666
这里我用了一个卸载电脑软件的小软件Geek Uninstaller,它不用安装,用它可以比较方便地卸载电脑里已有的CUDA,百度网盘下载,提取码:6666
双击打开这个软件,就能找到NVIDIA全家桶,需要卸载的如下图所标
这几个重新安装时都会安装一遍,如果CUDA版本不同的话,会共存,所以需要全部卸载掉。
开始安装CUDA,直接双击安装包,注意要选择自定义安装,之后全部都默认。
然后开始配置cudnn,解压cudnn,会出现一个名字为cuda的文件夹,里面有三个文件和一个小文件,把这个cuda文件夹重命名为cudnn,然后把这个文件夹复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2文件夹里,因为我是用的默认路径,所以是这个文件夹,如果你的不是,就自己找找,复制完成如下图
复制完之后就配置环境变量,在系统变量的Path里,我的环境变量如下图
图里面是我所有的关于CUDA的环境变量,你看看如果你缺什么就加上,如果有别的版本的环境变量,就改成现在的版本,或者删掉。
到这里,CUDA这一块就完全好了,具体怎样验证请自行百度。
第二步:python环境的搭建
使用 conda create -n 你的环境名字 python=3.8 创建环境,我这里用的名字是YOLOV5
conda create -n YOLOV5 python=3.8
然后 activate YOLOV5 进入到环境中
先使用 pip 安装 torch、torchaudio、torchvision
pip install torch==1.8.0+cu101 torchaudio==0.8.0 torchvision==0.9.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
这里要说一下torch和torchvision为什么不用cu102,而是用的cu101,这是因为后面那个链接里没有cu101的版本,因为高版本可以向低版本兼容,我就试了一下cu101可不可用,结果是可以的。
然后就可以键入python进入到python里,逐行运行一下下面的代码,输出结果为True
>>import torch
>>print(torch.cuda.is_available())
True
到这,pytorch基本环境就建好了,如果你和我一样要跑YOLOV5,再cd到YOLOV5文件夹里,运行下面代码,把需要的配置安装上就可以了
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
教程到此结束,我的方法可能不是所有人都适用,但希望能给你提供一个思路,有问题或者更好的方法,欢迎评论区讨论。