【问题标题】:Problem with setting up Tensorflow GPU support设置 TensorFlow GPU 支持的问题
【发布时间】:2021-06-02 13:17:58
【问题描述】:

我正在尝试使用以下指南安装对 Tensorflow GPU 的支持:

https://www.tensorflow.org/install/gpu

我在 Ubuntu (20.04 LTS)

我已按照以下最新 Ubuntu (Cuda 11) 的说明进行操作:

# Add NVIDIA package repositories
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
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update

wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb

sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update

wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt install ./libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt-get update

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-11-0 \
    libcudnn8=8.0.4.30-1+cuda11.0  \
    libcudnn8-dev=8.0.4.30-1+cuda11.0

# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install TensorRT. Requires that libcudnn8 is installed above.
sudo apt-get install -y --no-install-recommends libnvinfer7=7.1.3-1+cuda11.0 \
    libnvinfer-dev=7.1.3-1+cuda11.0 \
    libnvinfer-plugin7=7.1.3-1+cuda11.0

运行并重新启动后,我有 Cuda 11 和 CuDNN 8。

在此之后,我使用简单的pip install tensorflow 安装了 tensorflow,据我了解,在较新版本的 tensorflow 中无需显式安装tensorflow-gpu

这是我尝试导入 tensorflow 并检查物理设备后得到的结果:

import tensorflow as tf

结果:

2021-06-02 16:04:03.347039: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
tf.config.list_physical_devies('GPU')

结果:

2021-06-02 16:11:19.035743: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-06-02 16:11:19.067500: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2021-06-02 16:11:19.067753: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties: 
pciBusID: 0000:01:00.0 name: GeForce GTX 1060 6GB computeCapability: 6.1
coreClock: 1.759GHz coreCount: 10 deviceMemorySize: 5.93GiB deviceMemoryBandwidth: 178.99GiB/s
2021-06-02 16:11:19.067771: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-06-02 16:11:19.069485: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-06-02 16:11:19.069529: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-06-02 16:11:19.069625: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcufft.so.10'; dlerror: libcufft.so.10: cannot open shared object file: No such file or directory
2021-06-02 16:11:19.069689: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcurand.so.10'; dlerror: libcurand.so.10: cannot open shared object file: No such file or directory
2021-06-02 16:11:19.069736: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcusolver.so.11'; dlerror: libcusolver.so.11: cannot open shared object file: No such file or directory
2021-06-02 16:11:19.069796: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcusparse.so.11'; dlerror: libcusparse.so.11: cannot open shared object file: No such file or directory
2021-06-02 16:11:19.069930: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-06-02 16:11:19.069938: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1766] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
[]

tensorflow 似乎在抱怨 4 个文件(.so 库):

  • libcufft.so.10
  • libcurand.so.10
  • libcusolver.so.11
  • libcusparse.so.11

我尝试在 Ubuntu 上使用 locate 命令在我的系统中查找这些,它们在任何地方都不存在。

我没有向我的 .bashrc 添加任何内容,因为我不确定 LD_LIBRARY_PATH 必须是什么。

【问题讨论】:

    标签: python linux tensorflow ubuntu


    【解决方案1】:

    把这个库路径放在~/.bashrc 文件和源码中然后试试

    export PATH=/usr/local/cuda-11.0/bin:${PATH}
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:${LD_LIBRARY_PATH}
    export CUDA_HOME=/usr/local/cuda
    

    请根据您的设置更改路径。

    【讨论】:

    • 在将其添加到 .bashrc 2文件已解决,但还剩下 2 个
    • 2021-06-02 16:50:20: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcusolver.so.11'; dlerror: libcusolver.so.11: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-11.0/lib64:/usr/local/cuda/lib64: 2021-06-02 16:50:20: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcusparse.so.11'; dlerror: libcusparse.so.11: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-11.0/lib64:/usr/local/cuda/lib64:
    • usr/local/cuda-11.0/lib64 中好像缺少一些文件,具体来说是libcusolver.so.11libcusparse.so.11,我没有安装什么吗?
    • 您的安装已损坏。您在问题中发布的说明是正确的。但是你不应该也做过sudo apt-get nvidia-cuda-toolkit。该命令不会出现在您在问题中发布的说明中的任何地方。我的建议是重新安装 Ubuntu,并按照您在问题中发布的说明进行操作。
    • 这有点令人困惑,因为他们确实要求您在这些命令之前安装 CUPTI 并设置环境变量,并且他们提到 CUPTI 包含在 cuda 工具包中。
    猜你喜欢
    • 2021-02-04
    • 2018-05-19
    • 1970-01-01
    • 2018-04-13
    • 2019-10-04
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    相关资源
    最近更新 更多