在英伟达 30 系显卡上使用 Tensorflow 1.15

TLDR

Requirements:

  • CUDA 11.x (installed in the Anaconda environment)
  • Python 3.8 or Python 3.6 (other versions may not work, ref. [2])
# Under Anaconda environment
# first rmeove tensorflow-gpu installed by Anaconda and ensure CUDA version is 11.x
pip install nvidia-pyindex
pip install nvidia-tensorflow[horovod]

# Optional for Multi-GPU supports
conda install -c conda-forge openmpi
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/miniconda3/envs/$CONDA_DEFAULT_ENV/lib/

解释

因为 Anaconda(就算是 nvidia channel)上的(Google 官方编译的)Tensorflow 1.15 链接的是老版本的 CUDA 10.x 是不支持新的 30 系显卡的。
所以我们需要链接 CUDA 11.x 和 cuDNN 8.0 的(nvidia 自己)重新编译的 Tensorflow 1.15。
除了直接用 nvidia-tensorflow 这个 pip 包,另一种方法就是用 NVIDIA NGC docker 容器。

另外 nvidia-tensorflow 只支持 Python 3.6 和 3.8.

References


目录