RTX3060显卡安装深度学习框架Pytorch踩坑实录及解决过程(基于Ubuntu18)

寒假在自己的联想Y430上成功部署过YoloV5+deep sort实现运动目标跟踪。这台电脑的配置是GTX850M+i5-3420,所以CUDA版本选用的是Pytorch1.10.2自带的CUDA10.2。驱动选择470版本,直接成功运行(由于GTX850拉跨的性能,yolov5s模型跑一半就会死机)。

之前考虑过选用CUDA9.0版本,参考链接:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403   (博主贴上了很多下好的资源的百度云链接,所以之前直接跟着博主走了)

由于CUDA9.0版本要求GCC版本不能太高,Ubuntu18预装的GCC版本为7.x,需要给GCC手动降级。降级方法如链接所示,通过修改软连接的方法进行GCC手动降级。但是这里我遇到了一个问题:降级之后无法安装Nvidia驱动。搜索资料得知,安装nvidia驱动对gcc版本也有要求。所以如果要按照这个链接的方法进行降级适配,建议先安装好显卡驱动,然后再不要去对已经跑起来的驱动进行任何的修改了(血泪教训,若是修改驱动会导致再也回不去了=。=)

 

问题描述:开年来,实验室新配置了一台高端主机作为服务器,配置是i7-12700F+RTX3060。导师要求在其上实现一个基于yolo的深度学习视觉识别功能,故按照之前联想Y430p的经验进行装配,却未曾想遇到了不少问题。

首先,yolo+deep sort项目的git开源地址为:https://github.com/pinery-sls/Pytorch_YOLOv5_Deepsort  直接下载该项目。

该项目作者提供了自己训练的模型,下载地址https://drive.google.com/drive/folders/1xhG0kRH1EX5B9_Iz8gQJb7UNnn_riXi6 ,下载好之后放入deep sort/deep/checkpoint  文件夹中。

在yolo的github开源网址https://github.com/ultralytics/yolov5 下载好相应的权重文件,放在yolo目录下的weights中。

然后在安装好anaconda,cuda之后,pip下载yolo中的requirement.txt文件,发现跟Y430p之上不一样,运行报错(提示找不到CUDA Devices)。

然后在网上搜索资料,发现RTX30系列显卡仅支持CUDA11及以上版本。但是由于我下载的是pytorch1.10.2,按道理讲是支持最新的CUDA11.6版本的。所以我在CUDA官网下载了11.6版本并安装。安装之后执行该项目,发现还是报同一个错误。(写下这篇博客的时候,该问题已经被解决,所以很遗憾没能贴出来报错提示以及debug过程,之后一定要养成配环境边配边写博客的习惯)。

因为怀疑自己的cuda版本安装有问题,所以按照网上的步骤检查了cuda版本,发现输入nvcc -V之后,终端显示的cuda版本是10.2。然而在/usr/local/中检查了自己的cuda,发现只有一个cuda11.6,并没有显示的CUDA10.2版本。查阅资料发现,pytorch的下载有三种方式,每一种适配的是不同版本的CUDA。如果按照pip下载器的默认下载方式,下载的pytorch1.10.2是适配CUDA10.2版本的,并且这个CUDA类似一个默认安装的形式(就类似安装ROS会附送安装一个简易版本的Opencv一样)。所以解决办法是:pip卸载pytorch,重新安装适配CUDA11.2版本的pytorch即可解决问题!(甚至不需要进行CUDA11.6到CUDA11.2的降级,在测试中发现已经兼容低版本了)。

以下附上安装过程:

 

在Ubuntu18下,首先安装Anaconda。镜像网址为 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

 

 如图,选择适配自己环境的最新版本的Anaconda版本进行下载。这是深度学习首先要适配的基础工具(Anaconda可以理解为一个特殊版本的python,专门针对深度学习和神经网络而推出的)

下载后给sh文件赋予权限,sudo chmod -R 777 XXX.sh(XXX为文件名)

然后执行sudo sh XXX.sh进行Anaconda的安装。(网上很多anaconda的配置教程,跟着走就行,注意)

安装好Anaconda之后,进行CUDA和CUDNN的安装。进入Nvidia官网进行下载:https://developer.nvidia.com/cuda-downloads  网上类似教程众多。

全部安装好之后,我们开始手动安装pytorch。打开pytorch官网:https://pytorch.org/get-started/locally/

可以看到,默认下载的pytorch适配的CUDA就是10.2版本:

 

 这里我们compute Platform项一定要注意选择CUDA11.3!!!图中是CUDA10.2,仅为了展示其默认下载的版本选择。

下载好之后进行安装。这里按照官网给出的下载指令,我本人是连不上去的(即使科学up网)。所以这里我直接打开网址进行选择性下载:

https://download.pytorch.org/whl/cu113/torch_stable.html

 

 如图所示,下载torch和对应版本的torchvision,然后先安装torch再安装torchvision(顺序错误会提示你安装vision失败,找不到torch~)

注意这里选择版本时后面的cpxx中的xx(数字)代表着你的python版本。我的Anaconda对应的python版本是3.7,故我应该选择torch-1.10.2-cp37版本进行安装。

安装好之后,再通过pip下载yolo中的requirement文件。所需环境全部下载完成之后,就可以愉快地跑起来啦~

posted @ 2022-03-14 14:20  北黎隔海  阅读(2507)  评论(0编辑  收藏  举报