Tensorflow: ImportError: libcusolver.así.8.0: no se puede abrir el archivo objeto compartido: No existe el fichero o el directorio


Estoy teniendo problemas para importar tensorflow en 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.

Estoy usando los controladores Nvidia versión 381.09 beta, ya que la versión 375 tiene este error: https://askubuntu.com/questions/896221/strange-artifacts-along-window-borders-after-waking-computer-from-sleep-mode?noredirect=1&lq=1

He instalado CUDA 8.0 y 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

También, libcusolver.so.8.0 existe en /usr/local/cuda/lib64/:

Libcusolver. so. 8. 0 en 'ls' salida

He desinstalado y reinstalado CUDA, cuDNN, y construido tensorflow desde las fuentes. Este problema ha estado ocurriendo desde la actualización de los controladores de Nvidia a la versión 381.09 beta. Alguna ayuda?

 39
Author: talonmies, 2017-04-22

3 answers

Encontró la solución:

Reinstalé nvidia-381, CUDA-8.0 (usando el archivo de ejecución) y cuDNN 6.0. Luego agregué lo siguiente en mi .bashrc:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/
 40
Author: Harish Rajagopal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-09 10:22:11

No hay necesidad de reinstalación. Instalar nvidia-cuda-dev:

sudo apt install nvidia-cuda-dev

Instalar cuDNN (que se descarga desde https://developer.nvidia.com/cudnn ), y establecer LD_LIBRARY_PATH en consecuencia (a cuda/lib64).

 9
Author: James Hirschorn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-01 13:01:56

Podría tener este problema si instaló la última versión de CUDA (9.0). Si este es el caso, tendrá el archivo o directorio libcusolver.so.9.0 en su computadora, pero no 8.0, por lo que python no puede encontrarlo para importarlo. Tensorflow aún no es compatible con CUDA 9.0 (a partir del 18 de octubre de 2017).

Para arreglar esto, instale CUDA 8.0, que se puede encontrar aquí. Puedes encontrar todas sus versiones heredadas en la parte inferior de la página principal de descarga.

 4
Author: Davidjb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-18 15:53:30