CUDA11.0+cuDNN8.0.5+Anaconda3.5+PyTorch1.7.0配置说明

Ubuntu18.04+CUDA11.0+cuDNN8.0.5+Anaconda3.5+PyTorch1.7.0配置说明

  • 简介:本文档是在WIin10+Ubuntu18.04双系统的新机上测试过的一次配置成功的步骤说明。
  • 提示:紫色"说明"部分是对操作步骤的解释,在执行 3 安装CUDA 时容易出现问题,请仔细操作。如果遇到其他问题请耐心搜索,大家都是踩着坑过来的。也欢迎各位给出更简洁的配置方法,祝大家安装顺利 😃

1 新机预安装

  • 说明在新系统/重装系统的新机上预安装vim和gcc
# 安装vim
    $ sudo apt install vim
# 安装gcc
    $ sudo apt install gcc

2 禁用nouveau

  • 说明nouveau是ubuntu社区提供的图形驱动,为了防止与nvidia冲突,建议禁用nouveau
# 用vim编辑blacklist
    $ sudo vim /etc/modprobe.d/blacklist.conf
# 在文件的尾部追加两行(按insert进入编辑模式,按Esc退出编辑模式,按:wq保存编辑并退出)
	blacklist nouveau
	options nouveau modeset=0
# 执行以下指令更新
    $ sudo update-initramfs -u
  • 禁用成功验证:
    • 重启后桌面分辨率降低(因为没有图形驱动,此时也没安装nvidia驱动)
    • 执行以下第二行验证指令终端没有输出
# 重启计算机(这里图形界面手动重启也可以)
    $ reboot
# 重启后桌面分辨率降低,再运行以下指令,如果终端没有输出说明禁用成功
    $ lsmod | grep nouveau

3 安装CUDA

  • 这里可能遇到较多问题:建议按照以下步骤操作

3.1 查询N卡驱动和支持CUDA版本

  • 在windows下查看N卡驱动版本(以下三种操作等效)
    • 在桌面右键: 打开NVIDIA控制面板–>第三步
    • 打开控制面板: 控制面板–>搜索关键词NVIDIA–>打开NVIDIA控制面板
    • 在NVIDIA控制面板窗口中: 帮助–>系统信息–>显示(例如这里的驱动版本是460.89)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2wqoSt0t-1612351727292)(F:\深蓝学院\深度学习\图片\3-1-1.png)]

  • 支持CUDA版本
    • 找到NVCUDA.DLL文件:查看产品名称找到支持CUDA的版本(例如:1070 Ti是10.1.120 driver,3060Ti支持CUDA的版本是 11.2.66 driver)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gYw4HwhI-1612351727293)(F:\深蓝学院\深度学习\图片\3-1-2.png)]

3.2 查询PyTorch支持的CUDA版本

  • 登录 PyTorch官网 查询:是否存在支持对应CUDA版本的框架版本,有可能CUDA版本过新不存在匹配的框
    • 点击 install 可以查看到目前匹配的PyTorch和CUDA版本关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7hpXIGjR-1612351727295)(F:\深蓝学院\深度学习\图片\3-2.png)]

3.3 安装CUDA

  • 登录 cuda-toolkit-archive 查询:本机需要安装的CUDA版本,一般不建议安装最新的版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DMkceiQo-1612351727296)(F:\深蓝学院\深度学习\图片\3-3.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PsrYYTX5-1612351727298)(F:\深蓝学院\深度学习\图片\3-3-1.png)]

  • 说明runfile和deb两种安装方式的区别

    • runfile:下载并运行.run文件,可以选择是否安装N卡驱动
    • deb:下载.deb包,利用apt-get install方式安装,会自动安装.deb包名中写的N卡驱动
    • 以上两种方式均可以:如果N卡驱动和.deb包名中写的N卡驱动对应(或低于)则安装完cuda之后N卡驱动可以正常启动。如果N卡驱动高于.deb包名中写的N卡驱动,安装完cuda之后,输入 nvidia-smi,如果提示失败,则需要手动再安装更高适配版本的N卡驱动(具体安装方式见下文)。
  • 输入精简安装指令(这里等价于 Installation Guide Linux 中的 Package Manager Installation

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AYUHigve-1612351727299)(F:\深蓝学院\深度学习\图片\3-3-2.png)]

# 以cuda11.0为例,按照官网生成的指令安装	
    $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
    $ sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
    $ wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.2-450.51.05-1_amd64.deb
    $ sudo dpkg -i cuda-repo-ubuntu1804-11-0-local_11.0.2-450.51.05-1_amd64.deb
    $ sudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub
    $ sudo apt-get update
    $ sudo apt-get -y install cuda
  • 显卡驱动校验
# 在终端输入以下指令,检验输出
	$ nvidia-smi

说明如果输出如下所示,则初步安装好了CUDA,可以进行 CUDA安装校验 ,如果输出结果为fail,则执行 3.4 安装N卡驱动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xu6ewGlu-1612351727300)(F:\深蓝学院\深度学习\图片\3-3-3.png)]

3.4 安装N卡驱动(根据显卡驱动校验结果决定是否执行此步骤)

NVIDIA-Linux-x86_64-460.39.run
  • 卸载旧版本驱动
    $ sudo apt-get remove --purge nvidia*
    $ sudo modprobe -r nvidia-drm
  • 安装驱动
    $ sudo -i 
    $ sudo chown x+a NVIDIA-Linux-x86_64-460.39.run
    $ ./NVIDIA-Linux-x86_64-460.39.run
  • 安装过程出现的问题该如何选择
# ---------------------------------------------------------------------------------------------------------------------------------------------------------
1. There appears to already be a driver installed on your system (version:      
  390.42).  As part of installing this driver (version: 390.42), the existing  
  driver will be uninstalled.  Are you sure you want to continue? 
  Continue installation      Abort installation 
#(选择 Coninue,如果是重装的话)
# ---------------------------------------------------------------------------------------------------------------------------------------------------------
2. The distribution-provided pre-install script failed!  Are you sure you want
  to continue?                                                                 
 Continue installation      Abort installation       
#(选择 Cotinue)
# ---------------------------------------------------------------------------------------------------------------------------------------------------------
3. Would you like to register the kernel module sources with DKMS? This will    
  allow DKMS to automatically build a new module, if you install a different   
  kernel later.
Yes                       No  
#(这里选 No)
# ---------------------------------------------------------------------------------------------------------------------------------------------------------
4. Install NVIDIA's 32-bit compatibility libraries?
    Yes                       No  
#(这里选 No)
# ---------------------------------------------------------------------------------------------------------------------------------------------------------
5. Installation of the kernel module for the NVIDIA Accelerated Graphics Driver
  for Linux-x86_64 (version 390.42) is now complete.                           
 # OK
 # --------------------------------------------------------------------------------------------------------------------------------------------------------
6.Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 
    Yes                       No  
#(这里选 Yes)
# ---------------------------------------------------------------------------------------------------------------------------------------------------------
  • 挂载驱动
	$ modprobe nvidia
  • 显卡驱动校验
# 在终端输入以下指令,检验输出
	$ nvidia-smi

3.5 CUDA安装校验(确保上述步骤没有问题)

  • CUDA安装版本校验
	$ nvcc -V

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2JmKTa85-1612351727301)(F:\深蓝学院\深度学习\图片\3-3-4.png)]

  • CUDA例程校验
    $ cd /usr/local/cuda/samples/1_Utilities/deviceQuery
    $ sudo make
    $ ./deviceQuery

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-URO73aSR-1612351727301)(F:\深蓝学院\深度学习\图片\3-3-5.png)]

  • 最终系统应用中将包含以下内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2pHqM6o0-1612351727302)(F:\深蓝学院\深度学习\图片\3-3-6.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fH3ymRnP-1612351727303)(F:\深蓝学院\深度学习\图片\3-3-7.png)]

4 安装cuDNN

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vk3eN7eW-1612351727303)(F:\深蓝学院\深度学习\图片\4-1.png)]

  • 下载以下3个deb安装包
    • cuDNN Runtime Library for Ubuntu18.04 x86_64 (Deb)

    • cuDNN Developer Library for Ubuntu18.04 x86_64 (Deb)

    • cuDNN Code Samples and User Guide for Ubuntu18.04 x86_64 (Deb)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BlbMopjV-1612351727304)(F:\深蓝学院\深度学习\图片\4-2.png)]

说明采用deb方式安装,可以下载测试例程,方便安装校验

  • 顺次安装3个deb包
    $ sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb
    $ sudo dpkg -i libcudnn8-dev_8_8.0.5.39-1+cuda11.0_amd64.deb
    $ sudo dpkg -i libcudnn8-samples_8_8.0.5.39-1+cuda11.0_amd64.deb
  • 安装校验
    $ cp -r /usr/src/cudnn_samples_v8/ $HOME
    $ cd  $HOME/cudnn_samples_v8/mnistCUDNN
    $ make clean && make
    $ ./mnistCUDNN

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JT5JF1HL-1612351727304)(F:\深蓝学院\深度学习\图片\4-3.png)]

5 安装与配置Anaconda

说明Anaconda是Python的包管理器,之后将会利用其创建虚拟环境,并在其中安装PyTorch

5.1 安装Anaconda

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8xlevwzF-1612351727305)(F:\深蓝学院\深度学习\图片\5-1.png)]

  • 运行.sh文件并安装
	$ bash  Anaconda3-5.3.1-Linux-x86_64.sh

说明每次选择必须正确,不能倒退;除了VScode根据个人需要选择安装,其余都需要安装,都选择是

5.2 添加路径变量

#在.bashrc中添加以下内容
    $ sudo gedit ~/.bashrc
        export PATH="/home/gao(用户名)/anaconda3/bin:$PATH"
    $ source ~/.bashrc
  • 安装版本和路径查询
    $ python
    $ conda -V
    $ which python
    #最后一步选择性执行
    $ conda upgrade --all

5.3 配置conda

  • 在bashrc中添加如下内容
    $ sudo gedit ~/.bashrc
        # 这里根据python版本确定
        alias python3="/usr/bin/python3.x"
        alias python2="/usr/bin/python2.x"
        # 添加环境变量
        . /home/gao/anaconda3/etc/profile.d/conda.sh
    $ source ~/.bashrc

5.4 添加conda源

  • 添加常用的镜像源
	# 添加源
	$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
	$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
	$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
	$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
	$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
    # 确认添加的源并显示修改结果
	$ conda config --set show_channel_urls yes
	$ conda config --show

5.5 创建虚拟环境

	# 环境创建
	$ conda create -n pytorch(虚拟环境名称,自定义) python=3.x
	#进入和退出环境
	$ conda activate pytorch
	$ conda deactivate

6 安装PyTorch

说明为了加快安装速度,建议自行下载指定版本的torch和torchvision的.whl安装包,然后利用pip手动安装

6.1 安装Torch和Torchvision

  • 进入上述创建的虚拟环境,然后利用pip install安装
$ pip install torch-1.7.0+cu110-cp37-cp37m-linux_x86_64.whl
$ pip install torchvision-0.8.0-cp37-cp37m-linux_x86_64.whl

6.2 安装校验

  • 请先进入虚拟环境,然后执行以下指令
python3/python
import torch
x = torch.empty(5, 3) 
print(x) 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ud0OGV73-1612351727306)(F:\深蓝学院\深度学习\图片\6-1.png)]

7 PyCharm中测试PyTorch

  • 创建一个project,在Edit Configuration 和 File --> Settings中设置pytorch虚拟环境中的解释器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nppv56SZ-1612351727308)(F:\深蓝学院\深度学习\图片\7-1.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lI0IkLKv-1612351727309)(F:\深蓝学院\深度学习\图片\7-2.png)]

  • 创建一个脚本并运行测试
print("good!")

import torch

if __name__ == '__main__':
    print("Support CUDA ?: ", torch.cuda.is_available())
    x = torch.Tensor([1.0])
    xx = x.cuda()
    print(xx)

    y = torch.randn(2, 3)
    yy = y.cuda()
    print(yy)

    zz = xx + yy
    print(zz)

    # CUDNN TEST
    from torch.backends import cudnn

    print("Support cudnn ?: ", cudnn.is_acceptable(xx))

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-98ls5ah5-1612351727309)(F:\深蓝学院\深度学习\图片\7-3.png)]

  • 千淘万漉虽辛苦,吹尽狂沙始到金 😃
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值