为了跑YOLOv5配置环境走了很多弯路,现在将详细不走记录下来,供以后参考。
一、显卡驱动安装
参考了这位大佬的文章:【Python学习】Ubuntu18.04从零开始安装CUDA与cuDNN_YirongChen的博客-CSDN博客_cudnn 下载
但是具体的显卡驱动版本,最好根据下面流程确定:先确定cudnn版本、再确定cuda版本、再确定显卡驱动版本。cudnn、cuda、显卡驱动对应关系见(点某个版本的cudnn support matrix进去就会看见下面图1示的东西):
Documentation Archives :: NVIDIA Deep Learning cuDNN Documentation

图1
其实:只要满足显卡驱动的版本大于等于cuda的版本基本上都可以,如显卡驱动为460.32.03,那么安装cuda11.2.2 update1之前的版本都可以。我装的显卡驱动为470.129,cuda版本为10.1。cuda是具有前向兼容能力的,详见官方文档:CUDA Compatibility :: NVIDIA Data Center GPU Driver Documentation

图2
二、系统cuda和cudnn配置
cuda10.1的包下载地址:CUDA Toolkit Archive | NVIDIA Developer。
cudnn7.6.5包下载地址:cuDNN Archive | NVIDIA Developer
安装方法参考这2位大佬:Ubuntu 20.04安装CUDA 11.0、cuDNN 8.0.5、PyTorch 1.7.0 - BooTurbo - 博客园
ubuntu18.04下载显卡驱动+CUDA+CUDNN_CashAp的博客-CSDN博客_ubuntu下载cudnn
三、深度学习环境搭建
1、下载anaconda3.5.0的.sh文件并安装(清华源下载),安完后打开终端用命令“conda activate”可能会让你用“source activate”进行激活,这个时候只需要在主目录按“Ctrl+h”显示出隐藏文件,打开.bashrc文件并在最后一行添加“source activate”保存退出就可以正常用conda的命令了。通过conda建立你需要的python版本的环境并激活。
2、安装pycharm并创建桌面快捷方式:
首先通过下面代码解压,
tar -zxvf pycharm-community-2021.3.2.tar.gz
然后进入pycharm的bin文件夹运行pycharm
sh /home/xxx/Downloads/pycharm-community-2021.3.2/bin/pycharm.sh
安步骤随便创建一个工程,在tools中找到Ctreate desktop entry,然后就可以在“全部应用”中找到pychram了。
3、接下来就可以开始装pytorch了。pytorch版本为1.7.1(注意:我在用清华源安装更高版本的pytorch时,会出现有些包找不到的情况,还会报冲突,因此我还是老实的安装了1.7.1版本;此处的cuda版本也就是对应命令中的“cudatoolkit=10.1”必须与步骤二中安装的版本一样)我用的命令是:
# CUDA 10.1
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch将最后那个pytorch删除,并更换为清华源,这样速度会快很多,具体可以参考这位大佬:pytorch安装-国内镜像源_still_learning的博客-CSDN博客_pytorch镜像源2
tips:其实,我觉得在配置系统cuda和cudnn之前,完全可以先用conda试一装以下pytorch,看看清华源里面有没有需要的依赖包,免得装好了系统的cuda和cudnn才发现清华源装不上与之匹配的pytorch依赖包。
2、还有一些其他需要的函数库可能版本不对,这时候就需要通过conda先将其uninstall,然后再用下面这个命令安装(以opencv为例):
pip install -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com opencv-python==122222(版本号是故意乱写的,这样终端会报错,并返回这个源中可安装的版本号,我就可以尽情挑选了)
注意:如果以上命令安装报冲突的错误,请先尝试更新pip版本;如果报一个网络的错误,可以尝试将“http”换为“https”。
四、最后就是根据YOLOv5的说明文档编译相应文件,然后就可以开始炼丹了。
后记:在配完1060显卡的环境后,又需要再新电脑上进行运行,显卡为1660,装的驱动为470.129。本以为应该用更高版本的cuda和cudnn,装完后进行pytorch配置时,才发现清华源里面没有相应的pytorch依赖包,然后,我又按照1060的cuda和cudnn版本来了一遍,结果居然好用,因此我觉得图1中对显卡驱动的要求“r418.39”指的应该是最低版本。