• 【Linux】Ubuntu 20.04 深度学习 GPU 环境配置(CUDA Toolkit 11.7 + cuDNN v8.4.1)



    引言

    本文以 Ubuntu 20.04 操作系统为例,演示如何配置深度学习 GPU 环境。方便起见,我们这里可以直接跳过 NVIDIA 显卡驱动的安装,因为安装 CUDA 的时候会自动安装。

    准备

    开始安装之前,需要修改 apt-get 的镜像源,不然国内下载速度很慢。我们这里以阿里源为例演示如何修改。

    1. 备份官方源
    sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
    • 1
    1. 运行 sudo vi /etc/apt/sources.list 打开文件,并按 i 插入以下内容,按 ESC 后再按 :wq 保存退出
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    
    # deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    1. 更新数据源列表
    sudo apt-get update
    
    • 1

    安装

    CUDA Toolkit 11.7

    安装参考 NVIDIA 官网提供的教程

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
    sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
    wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb
    sudo dpkg -i cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb
    sudo cp /var/cuda-repo-ubuntu2004-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
    sudo apt-get update
    sudo apt-get -y install cuda
    sudo reboot # 非必需
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    执行完上述安装操作后,需要配置环境变量,让该系统下的所有用户都能使用:

    1. 打开全局配置文件
    sudo vi /etc/profile
    
    • 1
    1. 在文件末尾添加如下内容后保存退出。
    export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64\S${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
    • 1
    • 2
    1. 激活环境变量
    source /etc/profile
    
    • 1
    1. 运行 nvcc -V 来校验安装是否成功,若正确显示版本号则说明安装成功
    $ nvcc -V
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2022 NVIDIA Corporation
    Built on Tue_May__3_18:49:52_PDT_2022
    Cuda compilation tools, release 11.7, V11.7.64
    Build cuda_11.7.r11.7/compiler.31294372_0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    cuDNN v8.4.1

    安装参考 NVIDIA 官方提供的教程

    1. 官网下载合适版本的离线安装包

    在这里插入图片描述
    2. 开始安装

    sudo dpkg -i cudnn-local-repo-ubuntu2004-8.4.1.50_1.0-1_amd64.deb
    sudo cp /var/cudnn-local-repo-ubuntu2004-8.4.1.50/cudnn-local-E3EC4A60-keyring.gpg /usr/share/keyrings/
    cd /var/cudnn-local-repo-ubuntu2004-8.4.1.50/
    sudo dpkg -i libcudnn8_8.4.1.50-1+cuda11.6_amd64.deb
    sudo dpkg -i libcudnn8-dev_8.4.1.50-1+cuda11.6_amd64.deb
    sudo dpkg -i libcudnn8-samples_8.4.1.50-1+cuda11.6_amd64.deb
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 校验安装是否成功(最终输出 Test passed! 则说明安装成功)
    cp -r /usr/src/cudnn_samples_v8/ $HOME
    cd  $HOME/cudnn_samples_v8/mnistCUDNN
    make clean && make
    ./mnistCUDNN
    
    • 1
    • 2
    • 3
    • 4

    校验安装时如果遇到下述错误:

    ```bash
    test.c:1:10: fatal error: FreeImage.h: No such file or directory
        1 | #include "FreeImage.h"
          |          ^~~~~~~~~~~~~
    compilation terminated.
    >>> WARNING - FreeImage is not set up correctly. Please ensure FreeImage is set up correctly. <<<
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可通过如下方式解决,然后重新进行校验

    sudo apt-get -y install  libfreeimage3 libfreeimage-dev
    
    • 1

    Miniconda

    安装时请选择位置为 /opt/miniconda3,因为我们是要所有的用户都能使用。

    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
    sudo bash Miniconda3-py39_4.9.2-Linux-x86_64.sh
    
    • 1
    • 2

    最后,别忘了配置环境变量。首先打开全局配置文件:

    sudo vi /etc/profile
    
    • 1

    文件末尾写入以下内容后保存退出:

    export PATH="/opt/miniconda3/bin:$PATH"
    
    • 1

    conda 官方源下载包很慢,因此我们一般都需要换成国内源,这里以清华源为例进行演示。

    在 conda 安装的根目录下创建 .condarc 文件:

    sudo vi /opt/miniconda3/.condarc
    
    • 1

    写入如下内容后按 :wq 保存退出:

    channels:
      - defaults
    show_channel_urls: true
    default_channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
    custom_channels:
      conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    PyTorch

    PyTorch 是目前比较主流的深度学习框架之一,深受学术界的青睐。

    直接通过如下命令安装即可:

    sudo su - root # 先切换到 root 身份
    conda create -n pytorch
    conda activate pytorch
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    pip install torch torchvision torchaudio
    
    • 1
    • 2
    • 3
    • 4
    • 5

    检验安装是否成功,以及 CUDA 加速是否可用:

    python -c "import torch;print(torch.cuda.is_available())"
    
    • 1

    输出为 True 表述 CUDA 加速可用,False 表述 CUDA 加速不可用。

    TensorFlow

    TensorFlow 是谷歌提出的一个非常热门的深度学习框架。因其1、2版本并不兼容,因此我们需要分别创建一个环境来安装。

    2.x 版本的安装:

    sudo su - root # 先切换到 root 身份
    conda create -n tf2
    conda activate tf2
    pip install tensorflow
    
    • 1
    • 2
    • 3
    • 4

    检验 CUDA 加速是否可用:

    python -c "import tensorflow as tf;print(tf.config.list_physical_devices('GPU'))"
    
    • 1

    能正确输出各显卡的索引就表示安装成功了。

    [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:1', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:2', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:3', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:4', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:5', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:6', device_type='GPU'), PhysicalDevice(name='/physical_device:GPU:7', device_type='GPU')]
    
    • 1

    1.x 版本的安装:

    conda create -n tf1.15 python=3.7
    conda activate tf1.15
    conda install -y cudatoolkit=10.0
    conda install -y cudnn=7.6
    pip install tensorflow-gpu==1.15
    pip install protobuf==3.20.1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    检验 CUDA 加速是否可用:

    python -c "import tensorflow as tf;print(tf.test.is_gpu_available())"
    
    • 1

    输出为 True 表示可用,False 表示不可用。

    GPUstat

    这是一个可以替换 nvidia-smi 查看显卡信息的一个工具。可以非常清楚地看到各个显卡的温度、利用率、正在使用的用户以及各用户占用的显存等。

    在这里插入图片描述

    使用如下命令安装:

    sudo apt install python3-pip
    sudo pip install gpustat
    
    • 1
    • 2

    用法非常简单,记住下面这一条命令就行:

    gpustat -i
    
    • 1

    NetSM

    这是一个跨平台的命令行网速监测工具,可以看到服务器实时网速显示。

    在这里插入图片描述

    通过如下命令安装:

    sudo apt install python3-pip
    sudo pip install netsm
    
    • 1
    • 2

    用法非常简单,记住下面这一条命令就行:

    netsm show
    
    • 1

    Tmux

    跑耗时较长的任务时,可以打开 tmux 将任务挂起,即使你关闭了窗口,任务仍然在后台运行。

    sudo apt-get install tmux
    
    • 1

    Axel

    区别于 wget 单线程下载的多线程下载工具。用法很简单,通过 -n 参数指定线程数即可,例如:axel -n 10 下载链接

    sudo apt-get install axel
    
    • 1

    提示

    上述配置了三个深度学习 GPU 环境,分别是 PyTorch,TensorFlow 2 和 TensorFlow 1。且都是通过管理员来配置的。其他普通用户使用时,仅需使用 conda 在新建环境时克隆即可,下面给一个例子。

    例如,普通用户要使用 PyTorch 环境,但他同时还需要安装 requests 包,直接在名为 pytorch 的环境里面是没有办法安装,因为缺少写入权限。因此可以通过如下克隆的方式安装:

    conda create -n pytorch2 --clone pytorch
    conda activate pytorch2
    pip install requests
    
    • 1
    • 2
    • 3

    这样既节省了服务器的存储空间,又避免了重复安装环境的烦恼。


    更新:突然发现不用克隆了,直接激活使用即可:

    conda activate pytorch
    pip install requests
    
    • 1
    • 2

    因为默认会安装 requests 到用户家目录下,不会和其他用户的环境产生冲突。

    参考

    简易记录:安装GPU驱动,CUDA和cuDNN
    使用ubuntu 20.04 进行机器学习配置环境 必须做的事情
    【Linux】在Ubuntu上安装和使用miniconda
    Administering a multi-user conda installation
    Start Locally | PyTorch
    Anaconda 镜像使用帮助
    使用 pip 安装 TensorFlow

  • 相关阅读:
    JavaEE初阶:HTML
    【数值计算】基于四阶Runge-Kutta方法实现Mackey_Glass混沌时间序列生成以及相位时差的绘制附matlab代码
    极验深知v2分析
    maven运行报错解决
    Docker-简介,安装,测试
    使用REPLACE将数据库某一列字段进行字符串操作
    电子元器件行业B2B交易管理系统:提升数据化驱动能力,促进企业销售业绩增长
    2022护网行动在即,关于护网的那些事儿
    18——Swing程序设计
    微信小程序怎么构建npm?
  • 原文地址:https://blog.csdn.net/qq_42951560/article/details/126049655