我的环境

系统:4.19.183-1-MANJARO
显卡:Nvidia GeForce 940MX
显卡驱动:video-hybird-intel-nvidia-prime(460.67)
CUDA: 10.1
cuDNN: 7.6.5
Python: 3.7
Tensorflow: 2.2
PyTorch: 1.7.0+cu101
PaddlePaddle:2.0.1.post101(GPU version)

配置过程及注意事项

显卡驱动

我的显卡驱动是 video-hybird-intel-nvidia-prime,安装这个实际上相当于安装了适用于本机显卡的最新版显卡驱动,它会不断更新。

深度学习环境配置过程简记 - 图1

CUDA 和 cuDNN

需要根据显卡驱动的版本、Tensorflow 和 PyTorch 是否支持来选择 CUDA 和 cuDNN 的版本。

显卡驱动与 CUDA 版本之间的关系(参考 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html):
image.png

我的显卡驱动版本是 460.67(在终端中输入 nvidia-smi 命令可以查看),所以我的显卡驱动可以使用所有 CUDA 版本。

Linux 下 Tensorflow 支持的 CUDA 和 cuDNN 版本(参考 https://tensorflow.google.cn/install/source#gpu):
深度学习环境配置过程简记 - 图3

我在安装时 Tensorflow 已经更新到了 2.3 版本,而这里只写了 2.1 版本及以下的。经过推测、实验,Tensorflow 2.2 版本在 Linux 上也可以正常运作,而且支持 python 3.5 - python 3.8(图片里是 python 3.5 - python 3.7)。

最后我选择了这个环境:Python 3.7、CUDA 10.1、cuDNN 7.6.5,另外 PyTorch 也支持该环境。

安装 CUDA 10.1:

  1. $ yay -S cuda-10.1

安装 cuDNN 7.6.5:

  1. $ yay -S cudnn7-cuda10.1

Tensorflow

刚开始安装了 Tensorflow 2.3,但发现 2.3 版本无法调用显卡,所以重新安装 Tensorflow 2.2。

安装 Tensorflow 2.2:

  1. $ sudo pip install tensorflow==2.2

安装完成后进入 Python 环境,测试是否安装成功及 GPU 是否可用:

  1. import tensorflow as tf
  2. tf.test.is_gpu_available()

如果最后一行输出 True 则 GPU 可用。

PyTorch

进入 PyTorch 官网,选择自己的基础环境,网站会给出适用于该环境的安装命令:
深度学习环境配置过程简记 - 图4

直接复制粘贴该命令到终端进行安装:

  1. $ pip install torch==1.7.0+cu101 torchvision==0.8.1+cu101 torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

安装完成后进入 Python 环境,测试是否安装成功及 GPU 是否可用:

  1. import torch
  2. torch.cuda.is_available()

如果输出 True 则 GPU 可用。

PaddlePaddle

进入 PaddlePaddle 官网,选择自己的基础环境,网站会给出适用于该环境的安装命令:
image.png

直接复制粘贴该命令到终端进行安装:

  1. $ python -m pip install paddlepaddle-gpu==2.0.1.post101 -f https://paddlepaddle.org.cn/whl/mkl/stable.html

安装完成后进入 Python 环境,测试是否安装成功及 GPU 是否可用:

  1. import paddle

如果最后一行输出 “You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default.” 则 GPU 不可用,会使用 CPU 来进行运算。

对于 GPU,CUDA,cuDNN的理解

Reference: