ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7

ubuntu 18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7

  • 1 问题背景
  • 2 解决方法
    • GCC降级
    • CUDA及cuDNN安装
    • pytorch及python安装
  • 3最终效果:
  • 4参考资料

1 问题背景

本机配置:
3600X+RTX3070+ubuntu18
miniconda+pycharm
RTX3070显卡驱动 455
准备跑李宏毅GAN课程的HW-1,开始安装了cuda11.1(不知道什么时候装的,也不知道安装在哪里),手动装了cuda10.2,以及cudann。然后按照下图安装pytorch:
ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第1张图片
但是运行代码却报错:

GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.

诡异的是我测试下面的代码,返回的是True

import torch
torch.cuda.is_available()

下述方法默认使用了清华源

2 解决方法

优的博客中还提到了显卡驱动,这里补充一下,我是直接 在Software & Updates里面找到Additional Drivers,选择Ubuntu系统自带的驱动选择了驱动,没有更新、驱动,也没设置“禁用nouveau驱动”:
ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第2张图片

GCC降级

gcc降低到4.8,具体步骤很简单,参考ubuntu18.04安装cuda时gcc降级

CUDA及cuDNN安装

  1. 安装cuda11.1
    旧的cuda不用卸载,后面换个软链接就行,多个cuda不会冲突。
    这个地方注意,不要选择更新驱动,不要选择 Driver:
    ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第3张图片

ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第4张图片
ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第5张图片
安装好了需要设置软链接:

# step1 
sudo gedit ~/.bashrc

# step2
#在文件结尾处添加,添加完成要save文件
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

# step3
sudo rm -rf cuda #如果已经有cuda软连接,就清除旧的链接
sudo ln -s /usr/local/cuda-11.1 /usr/local/cuda

效果如下:
ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第6张图片

传送门:
从这cuda-toolkit-archive选择版本
从这选择配置下载界面

  1. 安装cudnn8.0.4
    下载cuDNN runtime、developer、codeSample一共3个deb文件。

ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第7张图片
传送门:https://developer.nvidia.com/rdp/cudnn-archive
需要注册才能下载~

然后参考这里[4]进行安装,这一步没什么可说的。

sudo dpkg -i libcudnn8_8.0.4.30-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.4.30-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.4.30-1+cuda11.1_amd64.deb

顺便解释一下,为什么不下载cuDNN Library for Linux (x86_64)(这里假设Linux版本与Ubuntu版本差不多,实际上文件大小差不多):
有的博客提到了需要将压缩包解压到cuda(自己创建的)中,安装完成之后还需要将部分文件cp到某local文件夹下。
本人在实践中发现,下载后面三个文档是不需要这样做的。很省事。
链接放出来,有需要可以看看:
https://www.cnblogs.com/booturbo/p/13960935.html

  1. 检查是否安装成功
    关于nvcc -V, nvidia-smi,这俩仅供参考,环境是否可用还是用运行代码才行。
    nvcc -V 如果出现 not found,按照提示:使用conda install cudatoolkit就行(具体命令忘了)
    ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第8张图片

pytorch及python安装

以下安装之前已经添加了清华源

  1. python
    上一次安装pytorch使用的py36 py37都没成功。py39,不是py弄潮儿不敢用。。。
conda create -n pytorch38 python=3.8
  1. pytorch
    提醒3点:
    • 这个环节会下载cudatoolkit11、pytorch1.7,这个两个文件非常大,多次下载失败就因为他俩,因此建议在网络好的时候下载,or边下载边做其他事。
    • conda安装pytorch命令中如果不改写成“pytorch=1.7”,就会默认安装pytorch1.8版本,下载速度几乎为0kb。我试了好几次都卡死在这一步,如果有下载成功的朋友麻烦分享一下方法。
    • 不建议pip安装,本人因为pytorch1.8下载极度困难,尝试过多次pip安装都卡死了,最后改成pytorch1.7。

命令如下:

> conda install pytorch=1.7 torchvision cudatoolkit=11 -c pytorch-nightly

ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第9张图片
传送:pytorch官方install界面

3最终效果:

这个仅供参考,这个有了不一定能跑通pytorch的。。。
最好还是用代码测试。
ubuntu18LTS+RTX3070+cuda11.1+cuDNN8.0.4+pytorch1.7_第10张图片
运行GAN网络真是比用cpu快多多多多了!

good luck~

4参考资料

链接1,提供了非常关键的思路;
链接2,提供的很多安装过程的代码提示;(便安装,便记录的吗??)
链接3,提供了cuda11.1.0、cudnn804的离线下载资源。
[1] pytorch官方关于30系列显卡的issue
[2] Ubuntu16.04+RTX3090+python3+cuda11.1+ CUDNN 8.04+anaconda3+pytorch-nightly深度学习环境搭建实录
[3]RTX3080/RTX3090驱动安装CUDA11.1+CUDNN8.0.4.30+pytorch源码编译
[4]Ubuntu 20.04安装CUDA 11.0、cuDNN 8.0.5、PyTorch 1.7.0

你可能感兴趣的:(Ubuntu,安装教程,ubuntu,cuda,pytorch,python)