Ich versuche, Tensorflow mit Unterstützung für Cuda und GPU zu installieren. Wenn ich versuche, es zu importieren, erhalte ich die folgende Fehlermeldung:
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
dieser Fehler tritt auf, wenn ich diesen Befehl eingebe:
import tensorflow as tf
Können Sie mir bitte helfen, dieses Problem zu lösen
Dies ist fast immer ein fehlender Pfad in Ihrem LD_LIBRARY_PATH
. Suchen Sie libcublas.so.9.0
auf Ihrem System (suchen Sie unter /usr/local
).
Wenn Sie es nicht finden, installieren Sie das CUDA 9.0 Toolkit (beachten Sie, dass Sie mit TF 1.5 9.0 und nicht 9.1, ein allgemeines Problem haben wollen, zumindest so weit, als ich diesen Fehler selbst gemacht habe).
https://developer.nvidia.com/cuda-90-download-archiv
Wenn Sie es haben, aktualisieren Sie Ihren LD_LIBRARY_PATH
, um auf das entsprechende lib
-Verzeichnis zu verweisen.
Wenn Sie eine dieser Methoden ausgeführt haben und jetzt einen ähnlich aussehenden Fehler für eine mit cudnn verwandte Bibliothek erhalten, wiederholen Sie diesen Vorgang für die CUDNN-Bibliothek.
https://developer.nvidia.com/cudnn
Ich denke die neueste Version funktioniert. Tensorflow hängt sowohl vom CUDA-Toolkit als auch von der CuDNN-Bibliothekserweiterung ab.
Beachten Sie, dass Sie dies auch im Benutzerraum installieren können (Sudo ist typisch, aber nicht erforderlich).
Um die libcublas
-Datei leicht zu finden, führen Sie Sudo find / -iname 'libcublas*'
aus. Fügen Sie dann den Pfad zu dem Ordner mit dieser Datei in LD_LIBRARY_PATH
hinzu.
Ich hatte cuda-9.0
installiert und der LD_LIBRARY_PATH
zeigte auf den richtigen Speicherort. Es stellte sich heraus, dass die Berechtigung des Ordners /usr/local/cuda-9.0
falsch war. Ich konnte nicht mal cd
in den Ordner wechseln. Ich änderte den Besitzer des cuda-9.0
von root
in my-user-name
und danach konnte Python die fehlende Bibliothek finden.