Tensorflow: ImportError: libcusolver.so.8.0: tidak dapat membuka file objek bersama: Tidak ada file atau direktori seperti itu

Saya mengalami masalah dalam mengimpor tensorflow di python3:

>>> import tensorflow as tf
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.5/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcusolver.so.8.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 "/usr/local/lib/python3.5/dist-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/__init__.py", line 51, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.5/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Saya menggunakan driver Nvidia versi 381.09 beta, karena versi 375 memiliki bug ini: https://askubuntu.com/questions/896221/strange-artifacts-along-window-borders-after-waking-computer-from-sleep-mode?noredirect=1&lq=1

Saya telah menginstal CUDA 8.0 dan cuDNN-v6.0:

rharish@rharish-GL552VW:~$ cd /usr/local
rharish@rharish-GL552VW:/usr/local$ ls
bin         cuda      etc    include  man   share
computecpp  cuda-8.0  games  lib      sbin  src

Juga, libcusolver.so.8.0 ada di /usr/local/cuda/lib64/:

libcusolver.so.8.0 in 'ls' output

Saya telah menghapus dan menginstal ulang CUDA, cuDNN, dan membangun tensorflow dari sumber. Masalah ini terjadi sejak mengupdate driver Nvidia ke versi 381.09 beta. Ada yang bisa membantu?

Larutan

Menemukan solusinya:

Saya menginstal ulang nvidia-381, CUDA-8.0 (menggunakan runfile) dan cuDNN 6.0. Kemudian saya menambahkan yang berikut ini di .bashrc saya:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/
Komentar (3)

Tidak perlu instalasi ulang. Instal nvidia-cuda-dev:

sudo apt install nvidia-cuda-dev

Instal cuDNN (yang anda unduh dari https://developer.nvidia.com/cudnn), dan atur LD_LIBRARY_PATH yang sesuai (ke cuda/lib64).

Komentar (2)

Anda mungkin mengalami masalah ini jika Anda menginstal versi terbaru CUDA (9.0). Jika ini masalahnya, Anda akan memiliki file atau direktori libcusolver.so.9.0 di komputer Anda, tetapi bukan 8.0, sehingga python tidak dapat menemukannya untuk diimpor. Tensorflow belum mendukung CUDA 9.0 (per 18 Oktober 2017).

Untuk memperbaikinya, instal CUDA 8.0, yang dapat ditemukan di sini. Anda dapat menemukan semua rilis lawas di bagian bawah halaman unduhan utama.

Komentar (2)