web-dev-qa-db-fra.com

ImportError: libcublas.so.9.0: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ni répertoire de ce type lors de l'installation de tensor flow sur Ubuntu 16.04.03

J'essaie d'installer tensorflow avec le support cuda et gpu. Lorsque j'essaie de l'importer, j'obtiens le message d'erreur suivant:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/srivishnu/.local/lib/python2.7/site-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/home/srivishnu/.local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/home/srivishnu/.local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "/home/srivishnu/.local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/srivishnu/.local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/srivishnu/.local/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: libcublas.so.9.0: cannot open shared object file: No such file or directory

cette erreur se produit lorsque je tape cette commande dans:

import tensorflow as tf

Pouvez-vous m'aider s'il vous plaît à résoudre ce problème

3

C'est presque toujours un chemin manquant dans votre LD_LIBRARY_PATH. Trouvez libcublas.so.9.0 sur votre système (commencez à chercher sous /usr/local). 

Si vous ne le trouvez pas, installez alors le CUDA 9.0 Toolkit (notez qu'avec TF 1.5, vous voulez 9.0 et non 9.1, un piège commun, du moins ce que j'ai moi-même commis).

https://developer.nvidia.com/cuda-90-download-archive

Si vous en avez un, mettez à jour votre LD_LIBRARY_PATH pour qu'il pointe vers le répertoire lib approprié.

Si vous avez déjà utilisé l'une de ces méthodes et que vous obtenez maintenant une erreur similaire pour une bibliothèque liée à cudnn, répétez ce processus pour la bibliothèque CUDNN.

https://developer.nvidia.com/cudnn

Je pense que la dernière version fonctionne. Tensorflow dépend à la fois de la boîte à outils CUDA et de l'extension de la bibliothèque CuDNN.

Notez que vous pouvez également installer tout cela dans l’espace utilisateur (Sudo est typique, mais pas obligatoire).

2
David Parks

Pour trouver facilement le fichier libcublas, exécutez Sudo find / -iname 'libcublas*'. Ajoutez ensuite le chemin du dossier contenant ce fichier dans LD_LIBRARY_PATH.

0
Daniel Azemar

J'avais cuda-9.0 installé et le LD_LIBRARY_PATH pointait vers le bon emplacement. Il s'est avéré que l'autorisation du dossier /usr/local/cuda-9.0 était erronée. Je ne pouvais même pas cd dans le dossier. J'ai changé le propriétaire du cuda-9.0 de root en my-user-name et après cela, python a pu trouver la bibliothèque manquante.

0
hossein sadeghi