web-dev-qa-db-fra.com

ImportError: libcusolver.so.8.0: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type

Double possible de cette question. J'ai un compte gpu auquel je me connecte via PuTTY (login ssh). J'ai créé une virtualenv là-bas et j'installe tenorflow via pip pour gpu. Tout fonctionne bien, quand je lance la commande 

$ pip list

la liste suivante est affichée: 

 backports.weakref (1.0rc1)
 bleach (1.5.0)
 funcsigs (1.0.2)
 html5lib (0.9999999)
 Markdown (2.6.8)
 mock (2.0.0)
 numpy (1.13.1)
 olefile (0.44)
 pbr (3.1.1)
 Pillow (4.2.1)
 pip (9.0.1)
 protobuf (3.3.0)
 setuptools (36.0.1)
 six (1.10.0)
 tensorflow-gpu (1.2.1)
 Werkzeug (0.12.2)
 wheel (0.29.0)

Mais quand je cours:

$ python
>>> import tensorflow

Il montre l'erreur suivante:

  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/__init__.py", line 24, in <module>
  from tensorflow.python import *
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/__init__.py", line 49, in <module>
  from tensorflow.python import pywrap_tensorflow
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/pywrap_tensorflow.py", line 52, in <module>
  raise ImportError(msg)
  ImportError: Traceback (most recent call last):
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/pywrap_tensorflow.py", line 41, in <module>
  from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in 
  <module>
  _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/nauman/junaid/final/test/lib/python2.7/site-
  packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in 
  swig_import_helper
  _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, 
  description)
  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.

J'ai également défini mes variables d'environnement comme ceci:

  export CUDA_HOME=/opt/cuda
  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$CUDA_HOME/lib64:$CUDA_HOME/extras/CUPTI/lib64"

De plus, j’ai trouvé que libcusolver.so.8.0 n’était pas là, alors que libcusolver.so.7.5 Était dans cuda/lib64 /. Quelque part, tensorflow trouve un mauvais fichier ou je ne sais pas rien. Toute aide serait appréciée car je suis nouvelle dans ce domaine. Version Python: 2.7 OS: Linux

3
Junaid Ahmad

J'ai résolu le problème. En fait, cuda 7.5 est installé et j’installais la dernière version de tensorflow, qui supporte probablement cuda 8.0. J'ai donc déclassé. 

 pip install --upgrade \ https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl
3
Junaid Ahmad

Cela peut être lié au mauvais lien de vos bibliothèques.
Exécutez simplement Sudo ldconfig /usr/local/cuda/lib64. Cela a résolu pour moi.

Si vous souhaitez en savoir plus: ldconfigman page .

5
Aizaz Sharif

Si vous utilisez cuda-9.0, essayez Sudo apt install nvidia-cuda-dev (si vous utilisez une distribution Ubuntu) 

0
markroxor

Si vous avez installé tensorflow-gpu en utilisant pip avec .whl pré-construit, la version cuda a été corrigée. Autant que je sache, à partir de 0.11.0rc1, tous les paquets pré-construits sont maintenant construits pour cuda 8. Donc, il y a deux façons de résoudre le problème:

  1. installez cuda 8 pour les paquets pré-construits tensorflow-gpu >= 0.11.orc1
  2. conserve cuda 7.5 stay, puis construit tensorflow-gpu à partir du code source
0
era_misa