web-dev-qa-db-ja.com

GPUをサポートするtensorflowをインストールします。 GPU前提条件のインストール後にlibcublas.so.9.0が欠落している

Python 3.6のconda環境でUbuntu 16.04 64xにGPUをサポートするTensorflowをインストールしようとしています。

すべての GPU要件 をインストールしてから、conda環境からpip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.10.0-cp36-cp36m-linux_x86_64.whlを実行しようとしました。

ただし、Pythonターミナルを開いてimport tensorflow as tfを試すと、ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directoryが表示されます。

これが要件の状態です。

  • NVIDIAドライバーバージョン:384.130(これはnvidia-smiの出力です)
  • CUDAコンパイラドライバー:release 7.5, V7.5.17(これはnvcc -vの出力)
  • CUDA:バージョン9.2.148(これはcat /usr/local/cuda/version.txtの出力です)。 CUDAバージョンとnvccバージョンが一致するはずだと他のどこかで読んだため、本当に混乱しています。
  • cuDNN:インストールしたと思う? .debパッケージをダウンロードし、Sudo dpkg -i /path/to/deb/fileに続いてSudo apt-get install -fを実行しました。しかし、インターネットでは、cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2を実行するとcuDNNバージョンが提供され、ファイルが存在しないという苦情が表示されます。
  • CUPTI:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64を実行しました。これは、テンソルフロー要件ガイドに示されています。

今、何を試してみるべきですか?


完全なエラートレース:

>>> import tensorflow
Traceback (most recent call last):
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/__init__.py", line 22, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/home/jsevillamol/anaconda3/envs/ctlearn/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
1
Jsevillamol

Cuda 9.0は、次のチュートリアルのコードを使用してインストールできます。

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

# Add NVIDIA package repository
Sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_AMD64.deb
Sudo apt install ./cuda-repo-ubuntu1604_9.1.85-1_AMD64.deb
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_AMD64.deb
Sudo apt install ./nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_AMD64.deb
Sudo apt update

# Install CUDA and tools. Include optional NCCL 2.x
Sudo apt install cuda9.0 cuda-cublas-9-0 cuda-cufft-9-0 cuda-curand-9-0 \
    cuda-cusolver-9-0 cuda-cusparse-9-0 libcudnn7=7.2.1.38-1+cuda9.0 \
    libnccl2=2.2.13-1+cuda9.0 cuda-command-line-tools-9-0

# Optional: Install the TensorRT runtime (must be after CUDA install)
Sudo apt update
Sudo apt install libnvinfer4=4.1.2-1+cuda9.0
3
fakturk

一定!デフォルトでインストールされたTFディストリビューションはCUDA 9.2をサポートしていません。 CUDA 9.0にダウングレードしましたが、現在は暫定的に機能しています。

1
Jsevillamol