本文详细讲解了如何安装YOLOv5网络依赖的GPU版本的Pytorch,本人自从入坑YOLOv5后,前前后后配置了近10次环境,有时代码调好能跑了,放上一两个月再跑,竟然报错了!
最近重装了一次电脑,重新配置了一遍环境,于是痛下决心要记录下配置环境中可能出现的问题,这里需要强调的是,我是在配好环境后写的这篇文章,大多图片是采用别人博客中的图片(在Refenrence中表明了出处,实在不想再重新配置一遍了)
本文重点讲解CUDA和Pytorch-gpu版本的安装,他俩的版本一定要对应起来,否则会出现各种问题(比如模型可以训练,但训练结果为0等等)
CUDA安装
首先,查看自己电脑支持安装的CUDA的版本
在cmd中输入
nvidia-smi
按下回车可显示
从上图可看出,我的电脑的显卡驱动版本是522.25,最高支持11.8版本的cuda(也就是可以安装版本号≤11.8的CUDA)
然后去英伟达官网:https://developer.nvidia.com/cuda-toolkit-archive
下载对应的CUDA版本,我下载的版本的是CUDA10.2
注:这里选择CUDA版本根据以下原则选择
1、显卡驱动最高支持的cuda版本
2、cuda与torch版本对应(这个在“Pytorch-gpu安装这一章会详细讲解”)
我这里选择的是Windows 10 64位的安装包,然后点击“Download”下载,下载完成后双击exe文件进行安装
安装时选择默认路径即可
然后选择自定义安装
把图示圈起来的对勾去掉
这三个地址十分重要,后续我们将进行环境变量的配置,不要改变路径。
之后等待安装完成即可。
配置CUDA环境变量,首先右键我的电脑-属性-高级系统设置-环境变量
在Path中手动添加如下路径:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\CUPTI\lib64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\bin\win64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\lib\x64
我们可以验证一下cuda是否成功,按win+R 输入cmd
nvcc -V
CUDANN安装
首先,到英伟达官网下载与CUDA版本匹配的cudnn:https://developer.nvidia.com/cudnn
这里需要我们注册一个账号,然后登录下载,下载时一定注意与CUDA的版本对应,如果你下载的CUDA为10.2则下载第二个。
下载之后,解压缩,将CUDNN文件夹中的各自的bin、clude、lib文件夹中的内容,直接复制添加到CUDA的刚刚安装目录的对应相同名字的文件夹下。
Anaconda安装
安装较为简单,详细请参考:
https://blog.csdn.net/in546/article/details/117400839
Pycharm安装
安装较为简单,详细请参考:
https://cloud.tencent.com/developer/article/1504718
Pytorch-gpu安装
torch- torchvision- python版本对应关系
CUDA Toolkit 和Pytorch的对应关系
使用下述命令安装torch、torchvision、torchaudio的gpu版本:
pip3 install torch==1.8.1+cu102 torchvision==0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.htmlhttps://download.pytorch.org/whl/torch_stable.html
然后在anaconda的pytorch虚拟环境中安装yolov5项目依赖的各种包,使用pip install ******
由于yolov5的requirement.txt中使用的pycocotools,但我下载的是pycocotools-windows。
所以将requirement.txt中的pycocotools改成pycocotools-windows,在运行代码时会检查requirements.txt中的包是否安装,不替换的话会报错
Reference
https://blog.csdn.net/qq_53357019/article/details/125725702
https://blog.csdn.net/qq_39763246/article/details/122250062