ImportError: libcublas..9.0: ne peut ouvrir le fichier objet partagé
actuellement, j'ai cuda 8.0 et cuda 9.0 est installé dans le Gpu système de soutien. Je suis tombé sur cette erreur lors de l'importation à partir de keras module. Il dit, comme le chargement a échoué natif tensorflow de l'exécution. Le journal des erreurs que j'ai reçu était:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, 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: 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 "Try1.py", line 11, in <module>
from keras.models import Sequential
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/__init__.py", line 3, in <module>
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/utils/__init__.py", line 6, in <module>
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/utils/conv_utils.py", line 3, in <module>
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/backend/__init__.py", line 83, in <module>
File "/usr/local/lib/python3.5/dist-packages/Keras-2.0.9-py3.5.egg/keras/backend/tensorflow_backend.py", 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 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 73, 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 58, 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: libcublas.so.9.0: cannot open shared object file: No such file or directory
Failed to load the native TensorFlow runtime.
Quand je lance nvcc --version, la version cuda est retourné,
Cuda compilation tools, release 8.0, V8.0.61
J'ai lu sur certains post, mais ne parvenaient pas à résoudre mon problème. Surtout, je pense que c'est un affrontement entre deux cuda versions. Quelqu'un peut me dire comment résoudre ce problème? Merci à l'avance.
Votre tensorflow installation nécessite CUDA 9
J'ai cuda 9 déjà installé dans /usr/local/cuda-9.0/. @talonmies
Mais il n'est pas à la trouver. Il s'agit de trouver CUDA 8
aucune idée de comment la définir par défaut comme cuda 9.0
Qui dépend entièrement de la façon dont vous avez installé les deux versions et de la configuration de votre environnement de jeu pour le moment. Il n'y a pas de réponse unique
J'ai cuda 9 déjà installé dans /usr/local/cuda-9.0/. @talonmies
Mais il n'est pas à la trouver. Il s'agit de trouver CUDA 8
aucune idée de comment la définir par défaut comme cuda 9.0
Qui dépend entièrement de la façon dont vous avez installé les deux versions et de la configuration de votre environnement de jeu pour le moment. Il n'y a pas de réponse unique
OriginalL'auteur arvind | 2018-01-24
Vous devez vous connecter pour publier un commentaire.
Vous devrez mettre à jour votre
LD_LIBRARY_PATH
, de sorte qu'il pointe vers le/usr/local/cuda-9.0/lib64
.Ajoutez la ligne suivante à votre
.bashrc
fichier (ou tout autre terminal que vous utilisez)Même si CUDA 8 est dans le chemin, il ne sera pas trouver
libcublas.so.9.0
dans le répertoire et d'autres dans le CUDA 9 répertoire. Si ce n'est pas le cas, veuillez donner des précisionsLa commande doit être
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/
Cela n'aide pas si CUDA est installé via apt.
Si CUDA est installé via apt, il doit avoir créé un lien symbolique vers
/usr/local/cuda
. Vous pouvez essayer de retirer la-9.0
decuda-9.0
. Publiez vos résultats si cela a fonctionné ou pas.OriginalL'auteur layog
Essayez le code suivant
Après vous taper cette commande
pip3 install --upgrade tensorflow-gpu==1.4
dans le terminal, le tensorflow va revenir à 1.4.0. Ce bug causé par tensorflow 1.6.0.s'il vous plaît vérifiez la réponse. Il fonctionne pour moi. @MiBrock
Maintenant, il recherche la version 8 de libcublas. ImportError: libcublas..8.0: ne peut ouvrir le fichier objet partagé: Aucun fichier ou répertoire
ouais, j'ai installé la dernière version (v1.7), et il semble que cela ressemble pour cuda-9.0. Tensorflow les développeurs doivent corriger l'installation ...
OriginalL'auteur S. Theon
La Tensorflow Binaires ne prennent pas en charge Cuda 9.1 dès maintenant.
Donc, la solution pourrait être d'installer Tensorflow de source.
Moi aussi j'avais précédemment alors que j'avais installé Cuda 9.1+cuDNN 6 pour Tensorflow et c'est ce qui a fonctionné pour moi.
https://devtalk.nvidia.com/default/topic/1026198/cuda-setup-and-installation/cuda-9-0-importerror-libcublas-so-8-0
En outre, vous avez les deux options suivantes:
CUDA 8.0 + Tensorflow - les plus de la version stable de CUDA qui fonctionne avec Tensorflow Binaires.
CUDA 9.0 + Tensorflow - dernière version CUDA qui Tensorflow Binaires sont compatibles avec.
OriginalL'auteur daVincere
Ce problème est lié à Google protobuf-compilateur en raison de laquelle tensorflow ne parvient pas à trouver le fichier objet partagé, dans ce cas, libcublas..9.0.
La construction de la dernière version de protobuf (3.5.0) à partir de la source n'a pas aider non plus. Ce qui a fonctionné pour moi a été d'installer le système à l'échelle de protobuf compilateur à l'aide de apt install protobuf-compilateur sur Ubuntu 16.04. Et, installez la version de python à l'aide de pip3 installer protobuf. Je suis à l'aide de CUDA de 9,0 9,1 n'est pas encore compatible avec tensorflow de binaires pré-compilés.
Vous pouvez vérifier le système à l'échelle de protobuf version à l'aide de protoc --version qui est 2.6.1 sur 16.04. Le protoc version de python est 3.5.2.post1. Espérons que cette aide. J'ai eu un problème similaire, à l'aide de versions antérieures de tensorflow et CUDA 8, et a documenté cette procédure de dépannage. En utilisant la même procédure, je suis en mesure d'utiliser tensorflow 1.8.0 trop.
OriginalL'auteur sdash
J'ai cette erreur, mais il était lié à un manque de mémoire graphique, bien que le message d'erreur ne semble pas directement lié. J'ai essayé de redémarrer le serveur, comme d'autres ont suggéré, mais je ne l'ai gagné en peu plus d'itérations (époques). Pour résoudre le problème, j'ai mis à jour le GPU instance de serveur pour un plus grand celui de mon fournisseur d'informatique en nuage en utilisant toujours la même image du serveur.
J'espère que peut aider quelqu'un d'autre.
OriginalL'auteur Claude COULOMBE
Tensorflow version >= 1.5 nécessite CUDA version > 8.0. Donc, si vous avez CUDA version 8.0, vous pouvez abaisser votre tensorflow version 1.4.
pip install tensorflow-gpu==1.4
OriginalL'auteur Rishabh Agrahari
Chaque fois que vous installez une nouvelle version de cuda, vous devez vérifier le chemin permanent qui peuvent avoir été ajoutés.
à vérifier dans le terminal exécuter
si vous voyez que le vieux cuda chemin est là, qui vous avez besoin pour le remplacer par le nouveau.
par exemple le mien était:
J'ai changé à la fois le cuda chemin d'accès et le nvidia chemin, puisque j'ai aussi mis à jour le pilote:
Espère que cela aide 🙂
OriginalL'auteur Hemin Ali
J'ai eu ce problème après la mise à niveau de Ubuntu 16.04 à 18.04. J'avais installé CUDA 9.1 avec Tensorflow 1.12.0, et que la version de Tensorflow besoins CUDA 9.0. Quand j'ai essayé d'installer CUDA 9.0, il détruit mes pilotes vidéo.
Heureusement, j'ai trouvé les instructions pour l'installation de plusieurs CUDA bibliothèques. Les seules pièces dont j'avais besoin à ce jour sont à télécharger le script d'installation, l'exécuter avec la
--silent --toolkit --override
options, puis définissezLD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64
. J'ai aussi mis le lien symbolique à/usr/local/cuda
retour à/usr/local/cuda-9.1
, mais je ne suis pas sûr si c'est nécessaire.Jusqu'à présent, Tensorflow fonctionne bien.
OriginalL'auteur Don Kirkby