2020年12月初购入一块七彩虹战斧3090显卡,众所周知,3090需要cuda11.1,但是当时pytorch1.60只支持cuda11.0,所以只好使用Docker,虽然暂时解决了显卡吃灰了问题,但是24G性能猛兽的运算效率大打折扣。1月30下午(封校前一天)决定弃用Docker,重新配服务器环境。熬了个通宵,31号中午配置完成,下面将实现过程记录分享如下,供大家参考避坑!
写在前面,这里我们提供了后面用到的Cuda11.1,cudnn,Nivdia driver,torch1.7.1,torchversion,和torchaudio的run或者whl文件供大家使用,比官网上的安装速度快很多(请及时避坑!!!)
链接:https://pan.baidu.com/s/1Zaap_t5NLXc–HGP8wZM1Q
提取码:7f51
- 卸载原有驱动
sudo apt-get --purge remove nvidia*
sudo apt autoremove
- 卸载cuda11.0
有很多博客卸载cuda时采用了实行CUDA自带的.pl卸载程序,但是我在对应的文件夹内没有找到这个程序,这种方法行不通。采用了如下方法:
sudo apt purge --autoremove cuda
sudo apt purge --autoremove nvidia-cuda-toolkit
- 卸载pytorch
pip uninstall torch
注意:我们这里没有卸载Anaconda,只需要更新cuda、pytorch以及显卡驱动;一定要将这些卸载干净,不然可能会影响后续新版本的安装。
- 安装合适的显卡驱动
选择支持手中显卡的驱动在官网下载即可,我们这里使用了455.38这个版本,新版本的安装可以参考我之前的一篇博客深度学习——ubuntu16.04更新显卡驱动
运行nivdia-smi,如果显卡驱动安装正常,就能正常显示显卡的基本情况。 - 安装Cuda11.1
在服务器放cuda_11.1.0_455.32.00_linux.run文件的目录下运行:
sudo sh cuda_11.1.1_455.32.00_linux.run
运行上述命令后输入accept会进入安装界面,注意:之前我们已经安装过驱动了,所以这里我们把Driver这个选项空掉不装,按空格键取消掉。
下面安装完成后需要配置一下环境变量:
sudo vim ~/.bashrc
######### 文件末尾输入以下命令########
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
wq保存上述修改后,再运行source ~/.bashrc
可以使得刚才的配置生效。
这时运行nvcc-V,如果有输出,说明安装成功!
- 配置Cudnn
文章开头给出了这个压缩包,直接运行下面的代码即可完成安装。
tar -zxvf cudnn-11.1-linux-x64-v8.0.5.39.tgz # 首先解压文件
sudo cp cuda/lib64/* /usr/local/cuda/lib64/ # 拷贝lib64下的配置文件
sudo cp cuda/include/* /usr/local/cuda/include/ # 拷贝include下的.h文件
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
完成上述操作后,运行:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如果有返回值,不报错,则说明也安装成功!
- 安装pytotch
Pytorch的安装相对来说比较麻烦,官网上给出的方法下载过程慢的离谱,我已经用了梯子也是很慢,建议大家直接使用文章开头给出的whi文件进行安装,1分钟就能搞定。或者在这个连接里找到适合自己的不同版本的pytorch、torchvision和torchaudio下载后安装。
pip install torch-1.7.1+cu101-cp37-cp37m-linux_x86_64.whl
pip install torchvision-0.8.2+cu101-cp37-cp37m-linux_x86_64.whl
pip install torchaudio-0.7.2-cp37-cp37m-linux_x86_64.whl
到这里环境基本上配置完成了,下面很重要的一步是检查自己的python版本,必须保证在3.6及以上,在python环境下运行一段测试代码验证自己是否配置成功,我在这一步还是显示不能正常使用,于是又加了下面一步,如果到这一步已经成功了,直接跳过后面的步骤。
8.运行
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
到这里,整个unbuntu16.04服务器针对3090显卡的深度学习环境就配好了,可以正常使用了,后续为了更方便的在本地操作,我会继续写关于如何在本地使用专业版Pycharm远程使用服务器,以及如何在本地查看visdom的动态可视化训练结果。即pytorch+pycharm+visdom的本地联调,感兴趣的童鞋请持续关注哈!