Tensorflow: ImportError: libcublas.so.9.0: Shared Object File kann nicht geöffnet werden: No such file or directory

Erstellt am 23. Dez. 2017  ·  136Kommentare  ·  Quelle: tensorflow/tensorflow

Ich habe tf-nightly build installiert und erhalte beim Import von tensorflow die folgende Fehlermeldung.
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory .

Wenn ich nach cuda 9 suche, erhalte ich Folgendes:

ldconfig -v
/usr/local/cuda-8.0/targets/x86_64-linux/lib:
    libnvgraph.so.8.0 -> libnvgraph.so.8.0.61
    libnppicom.so.8.0 -> libnppicom.so.8.0.61
    libnppial.so.8.0 -> libnppial.so.8.0.61
    libcufftw.so.8.0 -> libcufftw.so.8.0.61
    libcufft.so.8.0 -> libcufft.so.8.0.61
    libnppif.so.8.0 -> libnppif.so.8.0.61
    libcublas.so.8.0 -> libcublas.so.8.0.88
    libnvblas.so.8.0 -> libnvblas.so.8.0.88
    libnppi.so.8.0 -> libnppi.so.8.0.61
    libcusolver.so.8.0 -> libcusolver.so.8.0.61
    libnppidei.so.8.0 -> libnppidei.so.8.0.61
    libnvrtc-builtins.so.8.0 -> libnvrtc-builtins.so.8.0.61
    libnvrtc.so.8.0 -> libnvrtc.so.8.0.61
    libnpps.so.8.0 -> libnpps.so.8.0.61
    libcuinj64.so.8.0 -> libcuinj64.so.8.0.61
    libnppig.so.8.0 -> libnppig.so.8.0.61
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppicc.so.8.0 -> libnppicc.so.8.0.61
    libnppist.so.8.0 -> libnppist.so.8.0.61
    libnppisu.so.8.0 -> libnppisu.so.8.0.61
    libnppim.so.8.0 -> libnppim.so.8.0.61
    libcurand.so.8.0 -> libcurand.so.8.0.61
    libcudart.so.8.0 -> libcudart.so.8.0.61
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnppitc.so.8.0 -> libnppitc.so.8.0.61
    libnppc.so.8.0 -> libnppc.so.8.0.61
    libcusparse.so.8.0 -> libcusparse.so.8.0.61
/usr/local/cuda-9.1/targets/x86_64-linux/lib:
    libnppicc.so.9.1 -> libnppicc.so.9.1.85
    libnppisu.so.9.1 -> libnppisu.so.9.1.85
    libcufftw.so.9.1 -> libcufftw.so.9.1.85
    libcufft.so.9.1 -> libcufft.so.9.1.85
    libnppial.so.9.1 -> libnppial.so.9.1.85
    libnppist.so.9.1 -> libnppist.so.9.1.85
    libcublas.so.9.1 -> libcublas.so.9.1.85
    libnvblas.so.9.1 -> libnvblas.so.9.1.85
    libnppitc.so.9.1 -> libnppitc.so.9.1.85
    libcusolver.so.9.1 -> libcusolver.so.9.1.85
    libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
    libnvrtc-builtins.so.9.1 -> libnvrtc-builtins.so.9.1.85
    libnppidei.so.9.1 -> libnppidei.so.9.1.85
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppig.so.9.1 -> libnppig.so.9.1.85
    libnppc.so.9.1 -> libnppc.so.9.1.85
    libcudart.so.9.1 -> libcudart.so.9.1.85
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnvgraph.so.9.1 -> libnvgraph.so.9.1.85
    libnppif.so.9.1 -> libnppif.so.9.1.85
    libcusparse.so.9.1 -> libcusparse.so.9.1.85
    libaccinj64.so.9.1 -> libaccinj64.so.9.1.85
    libcuinj64.so.9.1 -> libcuinj64.so.9.1.85
    libnppim.so.9.1 -> libnppim.so.9.1.85
    libnppicom.so.9.1 -> libnppicom.so.9.1.85
    libnpps.so.9.1 -> libnpps.so.9.1.85
    libcurand.so.9.1 -> libcurand.so.9.1.85

Ich das aufgrund eines Namenskonflikts. libcublas.so.9.0 =! libcublas.so.9.1 ? Und wenn ja, wie können wir das überwinden?

Hilfreichster Kommentar

Hast du es gelöst? Dieses Problem wird durch tensorflow-gpu-1.5 erforderlich cuda 9.0 verursacht, daher sollten Sie tensorflow-gpu-1.4 installieren. Und denken Sie daran, tensorflow-gpu-1.5 zu deinstallieren. Bitte verwenden Sie diese "pip install --upgrade tensorflow-gpu==1.4"

Alle 136 Kommentare

Ich denke, das liegt an der Tatsache, dass Sie CUDA 9.1 und nicht 9.0 haben, ich stehe genau vor dem gleichen Problem.

@Timonzimm Ich weiß und ich denke, das ganze Problem ist diese verdammte Benennung von libcublas.so.xxx, die nvidia setzt. Dies ist von Natur aus eine Nichtübereinstimmung auf Linux-Systemen, wenn sich diese Zahl ändert. Da es die genauen Übereinstimmungen nicht finden kann, denkt es, dass die Datei nicht existiert, und gibt den Fehler aus.

Ich denke, Sie sollten den Symbollink von ''cuda/'' zu ''cuda/9.1" verwenden, oder Ihre cuda-Version ist zu neu für den Tensorflow-Master-Zweig

@burui11087 Ich habe das

Scheint so, als ob dies behoben ist (und die Hauptursache war ein Versionskonflikt von CUDA - 9.0 vs. 9.1)?
Ich schließe dies aus, da ich verstehe, dass es gelöst werden soll, aber bitte lassen Sie es mich wissen, wenn ich mich irre.

Zu Ihrer Information @gunan @av8ramit (die an der kommenden Version 1.5 arbeiten)

Genau das gleiche Problem tritt bei mir auch bei kirk86 auf. Bei mir habe ich cuda toolkit 8.0 und cudnn 5.1 installiert.
Dann habe ich getan, was Sie oben gesagt haben, alle funktionieren nicht.

Um Nightlies nutzen zu können, müssen CUDA 9.0 und cudnn 7 installiert sein.
@yangfengKAUST mit der aktuellen Version von cuda und cudnn installiert TF beschwert sich nur, dass es die erwarteten Versionen nicht finden kann.

@Timonzimm Ich stehe vor dem gleichen Problem. Hast du es herausgefunden?

Ich habe 8.0, 9.0, 9.1 installiert + cudnn-Versionen, die für jeden spezifisch erscheinen. Die Sym-Verknüpfung funktionierte nicht von den 9.1-Bibliotheken. Ich vermute, dass manchmal der Symlink im LD_LIBRARY_PATH auch nicht funktioniert, wenn ich die Versionen auf dem /usr/local/cuda-Link wechsle. Am Ende habe ich es einfach mit der Low-Tech-Methode gemacht, um die Bibliotheken in mein Java-Programm zu laden, bis ich einen saubereren Weg gefunden habe, die Pfade in Eclipse zu handhaben.

    try {
        System.load("/usr/local/cuda/lib64/libcublas.so.9.0");
        System.load("/usr/local/cuda/lib64/libcusolver.so.9.0");
        System.load("/usr/local/cuda/lib64/libcudart.so.9.0");
        System.load("/usr/local/cuda/lib64/libcufft.so.9.0");
        System.load("/usr/local/cuda/lib64/libcurand.so.9.0");

        System.load("/home/greg/Desktop/platform/tensorbuilder/jni/libtensorflow_jni.so");
      } catch (UnsatisfiedLinkError e) {
          System.err.println("Native code library failed to load.\n" + e);
          System.exit(1);
      }

.

@asimshankar Würde gerne wissen, dass Sie in Ihrem obigen Kommentar meinen, dass wir cuda auf 9.0 herabstufen sollten und Tensorflow 1.5 nicht mit cuda 9.1 funktioniert?

Sie haben dieses Problem geschlossen, aber es ist nicht klar, was die richtige Maßnahme ist, die wir ergreifen sollten!

Hinweis: Statt cuda 9.0 habe ich auch cuda 9.1 installiert.

Nur zur Info, ich habe beides installiert. Das Erstellen von Grund auf funktioniert mit beiden, aber die nächtlichen Binärdateien verwenden 9.0.

@AwasthiMaddy - Ja TensorFlow 1.5 Release-Binärdateien wurden für CUDA 9 erstellt.

Hast du es gelöst? Dieses Problem wird durch tensorflow-gpu-1.5 erforderlich cuda 9.0 verursacht, daher sollten Sie tensorflow-gpu-1.4 installieren. Und denken Sie daran, tensorflow-gpu-1.5 zu deinstallieren. Bitte verwenden Sie diese "pip install --upgrade tensorflow-gpu==1.4"

@aipeteryao - Danke.

Jemand muss die https://www.tensorflow.org/install/install_linux-Seite reparieren, wenn dies zutrifft. Ich habe die Anweisungen genau befolgt und Sie aufgefordert, CUDA 8.0 zu installieren (insbesondere nicht "neuestes CUDA").

Sobald Sie fertig sind, erhalten Sie diesen Fehler (es wird nach cublas 9.0 gesucht, was, wie ich hier lesen kann, auch nicht funktioniert hätte, da CUDA 9.1 die Standardeinstellung von NVIDIA ist).

Entweder sollten die Webseiten-Anweisungen mit dem neuesten Standard von allem funktionieren, oder Sie sollten explizit anweisen, tensorflow-gpu-1.4 (zum Beispiel) und nicht tensorflow-gpu zu installieren.

Kommentar von bwesons unterstützen. Ich habe CUDA 8.0 und Tensorflow 1.3. Ich habe die aktuellen Installationsanweisungen für TF 1.5 (GPU, Ubuntu, virtualenv) befolgt und es geht wie oben beschrieben kaputt. Zurückkehren zu TF 1.3, bis dies behoben ist.

@aipeteryao Das hat es behoben, danke! Am Ende habe ich die neueste Version deinstalliert und 1.4 in meinem virtualenv installiert.

pip3 uninstall tensorflow-gpu
pip3 install --upgrade tensorflow-gpu==1.4

Die Installationsseite für Ubuntu sollte aktualisiert werden: https://www.tensorflow.org/install/install_linux
Da TensorFlow 1.5 Cuda 9.0 ( NICHT 9.1 ) erwartet, sowie cuDNN 7

Tatsächlich sollten wir uns das offizielle Dokument von tensorflow ansehen, es gibt die Umgebung von tensorflow an (einschließlich Python, gcc, cuda, cudnn usw.).

@bwesen ja, du hattest recht. Mein Computer hat CUDA 8.0, Cudnn 6.0, Tensorflow 1.4 installiert.

Ich denke, dieses Thema sollte noch offen sein. Der Kommentar von @bwesen ist richtig. Die Dokumentation sagt Ihnen, Cuda 8.0 zu installieren und pip install --upgrade tensorflow-gpu . Im Moment gibt Ihnen das Tensorflow 1.5, das mit Cuda 8.0 nicht funktioniert

ping @asimshankar

Ich habe das gleiche Problem (mit cuda 9.1 + tensorflow 1.5). Ich denke, um das Problem zu lösen, besteht eine Möglichkeit darin, cuda auf 9.0 herunterzustufen. Die andere Möglichkeit wäre, sowohl Cuda auf 8.0 als auch Tensorflow auf 1.4 herunterzustufen. Wenn Sie cuda 8.0 bereits installiert haben, müssen Sie nur die Umgebungsvariable LD_LIBRARY_PATH (und CUDA_HOME ) so ändern, dass sie auf das Verzeichnis cuda 8.0 zeigt (dh /usr/local/cuda-8.0 ).

Ich bekomme dieses Problem (Cuda 9.1.85, cuDNN 7.05)

Versucht mit tensorflow 1.5, es ging kaputt. Deinstalliert, 1.4 mit pip3 install --upgrade tensorflow-gpu==1.4 installiert, immer noch kaputt.

@ DylanDmitri 1.5 erwartet Cuda 9.0, nicht 9.1

Haben Sie es mit Cuda 9.0-Treibern versucht?

@DylanDmitri @mkaze Sie benötigen Cuda 9.0.

Außerdem empfehle ich allen, die Probleme bei der Installation der Anforderungen haben, Ihre cuDNN-Installation zu überprüfen. Die .deb-Datei funktionierte bei mir nicht, weil sie die Dateien nicht an die richtige Stelle kopierte. Ich musste die .tgz-Datei verwenden und Dateien gemäß den Anweisungen von nVidia manuell kopieren, um eine funktionierende Installation zu erhalten.

Warum installierst du nicht einfach cuda-9-0?

sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys \
     http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

Warum installierst du nicht einfach cuda-9-0?

@abrahamrhoffman Das ist einfach für jeden, der über Sudo-Berechtigungen verfügt, aber was ist mit Personen auf einem gemeinsam genutzten System wie einer Cluster-Umgebung mit einfachen Benutzerberechtigungen. In diesen Fällen wird die Antwort wahrscheinlich NEIN sein, selbst wenn Sie den Systemadministrator bitten, Bibliotheken zu installieren! Da sie befürchten, dass dies die Einstellungen und Umgebungen anderer Benutzer beeinträchtigen könnte.

@abrahamrhoffman Würde es Ihnen auch etwas

Ich habe cuda-9.0 installiert und es funktioniert immer noch nicht. Das ist wirklich irritierend.

Bitte stellen Sie sicher, dass Sie Ihre PATH-Variable entsprechend einstellen, wie hier beschrieben: https://stackoverflow.com/questions/39287744/ubuntu-16-04-nvidia-toolkit-8-0-rc-darknet-compilation-error-expected -a/41290056#41290056

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

cuda 9.1 ist die aktuelle Version. Ich möchte, dass TF es benutzt. Wie man?

Selbst tf-nightly-gpu sucht nicht nach cuda 9.1. Meh

Ich habe symbolische Links von allen 9.0-Dateinamen zu allen 9.1-Dateinamen ausprobiert und es hat nicht funktioniert. Am Ende kennt TF die wahre Version. Das Repo hat nicht einmal 9.0 mehr, also befürchte ich, dass ich meine Nvidia-Sachen kaputt mache, wenn ich 9.1 entferne und dann 9.0 manuell installiere.

Ich repariere ihn vorerst durch:

Laden Sie deb (Netzwerk) herunter von: https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetwork

Dann: dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

Dann: Eignungsupdate

Dann: aptitude install cuda-9-0

Zuerst habe ich tensorflow 1.5 installiert, es ist kaputt gegangen und ich erhalte folgende Fehlermeldung:
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
dann habe ich 1.4 deinstalliert, mit pip install --upgrade tensorflow-gpu==1.4 installiert, es hat nicht funktioniert und ich erhalte die folgende Fehlermeldung:
ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory

@xiezhongzhao Welche Cuda-Version verwendest du? Für tensorflow 1.5 müssen Sie Cuda 9.0 installiert haben und für tensorflow 1.4 müssen Sie cuda 8.0 verwenden. Wenn die Tensorflow-Version und die Cuda-Version kompatibel sind, überprüfen Sie die Umgebungsvariablen, dh CUDA_HOME und LD_LIBRARY_PATH .

@mkaze Ich habe Cuda9.1 verwendet

@xiezhongzhao Installieren Sie Cuda 9.0 und Sie sollten in Ordnung sein. Tensorflow 1.5 funktioniert nicht mit Cuda 9.1.

@mkaze Vielen Dank

Ich habe auch dieses Problem und versuche es zu lösen.

$ pip3 install tensorflow-gpu
$ python3
>>> import tensorflow
Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/ubuntu/.local/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/ubuntu/.local/lib/python3.5/site-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

Ich habe nach dieser Anleitung installiert
https://www.tensorflow.org/install/install_linux#nvidia_requirements_to_run_tensorflow_with_gpu_support

Ich glaube, ich habe die richtigen Versionen von nvidia installiert. Dateinamen waren
cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
und cudnn-9.0-linux-x64-v7.tgz (Version 7.0.5)

Ich habe den Pfad gemäß diesen Anweisungen in den Tensorflow-Dokumenten festgelegt und auch die Anweisungen von abrahamrhoffman oben ausprobiert.

Wenn ich ldconfig -v ausführe, erhalte ich einige 9.0-Bibliotheken, sehe aber libcublas.so.9.0 nicht

/usr/local/cuda-9.0/targets/x86_64-linux/lib:
    libaccinj64.so.9.0 -> libaccinj64.so.9.0.176
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libcuinj64.so.9.0 -> libcuinj64.so.9.0.176
    libcudart.so.9.0 -> libcudart.so.9.0.176
/usr/local/cuda-9.1/targets/x86_64-linux/lib:
    libnppif.so.9.1 -> libnppif.so.9.1.85
    libcusparse.so.9.1 -> libcusparse.so.9.1.85
    libcusolver.so.9.1 -> libcusolver.so.9.1.85
    libnpps.so.9.1 -> libnpps.so.9.1.85
    libnppial.so.9.1 -> libnppial.so.9.1.85
    libnvgraph.so.9.1 -> libnvgraph.so.9.1.85
    libcuinj64.so.9.1 -> libcuinj64.so.9.1.85
    libaccinj64.so.9.1 -> libaccinj64.so.9.1.85
    libnppicc.so.9.1 -> libnppicc.so.9.1.85
    libcudart.so.9.1 -> libcudart.so.9.1.85
    libnppc.so.9.1 -> libnppc.so.9.1.85
    libnppicom.so.9.1 -> libnppicom.so.9.1.85
    libOpenCL.so.1 -> libOpenCL.so.1.0.0
    libnppig.so.9.1 -> libnppig.so.9.1.85
    libnvToolsExt.so.1 -> libnvToolsExt.so.1.0.0
    libnppidei.so.9.1 -> libnppidei.so.9.1.85
    libcurand.so.9.1 -> libcurand.so.9.1.85
    libnvblas.so.9.1 -> libnvblas.so.9.1.128
    libnvrtc.so.9.1 -> libnvrtc.so.9.1.85
    libnppitc.so.9.1 -> libnppitc.so.9.1.85
    libnppist.so.9.1 -> libnppist.so.9.1.85
    libcublas.so.9.1 -> libcublas.so.9.1.128
    libnppim.so.9.1 -> libnppim.so.9.1.85
/sbin/ldconfig.real: /usr/local/cuda-9.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link

    libcudnn.so.7 -> libcudnn.so.7.0.5
    libcufftw.so.9.1 -> libcufftw.so.9.1.85
    libcufft.so.9.1 -> libcufft.so.9.1.85
    libnppisu.so.9.1 -> libnppisu.so.9.1.85
    libnvrtc-builtins.so.9.1 -> libnvrtc-builtins.so.9.1.85

9.1 habe ich nicht installiert, zumindest nicht absichtlich. Dies ist auf einer Amazon ec2-Instanz mit Standard-UBuntu 16.04.
nvidia-smi gibt auch eine GPU zurück, dies ist eine g3.4xlarge-Instanz

jede Anleitung wird sehr geschätzt.

Laut dem CUDNN-Leitfaden unter:

http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

Sie müssen die entpackten Dateien (aus dem Verzeichnis, in dem Sie $ tar -xzvf cudnn-9.0-linux-x64-v7.tgz oder ähnliches ausgeführt haben) in Unterverzeichnisse von /usr/local/cuda kopieren:

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
/usr/local/cuda/lib64/libcudnn*

Danke für die Antwort @entropy43.

Ich hätte genauer sein sollen. Ich habe diese beiden cp und die chmod Befehle nach tar . Wenn ich im Ordner cuda nachschaue, wo ich den tar-Befehl wie ls cuda/lib64 habe, sehe ich
libcudnn.so libcudnn.so.7 libcudnn.so.7.0.5 libcudnn_static.a

Ich habe diesen Abschnitt auch aus dem nvidia- Dokument ausprobiert
2.3.2. Installing from a Debian File

und die Tests bestehen hier in 2.4. Verifying

Jeder Rat, um diese Lib zu bekommen, ist willkommen

Könnte jemand bitte zusammenfassen, wo das derzeit steht? Ich verwende TF1.3 + cuda 8 ohne Probleme. Ich möchte ein Upgrade durchführen, aber es scheint, als ob der Installationsprozess für neuere Versionen vollständig abgebrochen ist. Beratung?

Ähnlich wie Yazabazra oben fragt:
TF1.6 Ubuntu 16.04
nvcc -V
nvcc: NVIDIA (R) Cuda-Compiler-Treiber
Urheberrecht (c) 2005-2017 NVIDIA Corporation
Gebaut am Fr_Nov__3_21:07:56_CDT_2017
Cuda-Kompilierungstools, Version 9.1, V9.1.85
Was erforderte einen Nvidia-Display-Treiber 390+
Kritisch zu sehen: https://devtalk.nvidia.com/default/topic/1000340/cuda-setup-and-installation/-quot-nvidia-smi-has-failed-because-it-couldn-t-communicate-with -the-nvidia-driver-quot-ubuntu-16-04/post/5243047/#5243047

Welpe, um dem Ganzen hinzuzufügen, Nach einigem Aufwand habe ich Nvidia auf die neueste Version aktualisiert, siehe oben, da das TF-Dokument darauf hindeutet, dass es in einer früheren Version Fehler gab.

Jetzt bekomme ich das:
ImportError: libcublas.so.9.0: Shared Object File kann nicht geöffnet werden: No such file or directory
Fehler beim Laden der nativen TensorFlow-Laufzeit.

Dies scheint eine Diskrepanz zwischen 9.0 (TF will) und 9.1 zu sein. Dies ist das aktuellste Nvidia.
Es scheint besser, mit 9.1 zu laufen, aber ich würde es lieber vermeiden, TF aus dem Quellcode zu erstellen, und es scheint, dass dies sowieso nicht behoben werden kann.

Kann diese Kombination mit einem Binärpaket funktionieren?
TF 1.6 Cuda 9.1 ??

Weiterer Hinweis und Vorsicht für diejenigen, die hier suchen.. Nach dem Upgrade meines Nvidia-Zeugs funktionieren meine älteren Versionen von TF in separaten Conda-Envs nicht mehr wie das ältere TF will: ImportError: libcublas.so.8.0: Shared Object File kann nicht geöffnet werden: No such file oder Verzeichnis
also 9.1 wird es nicht bringen.. wie wäre es mit der Angabe größer als?? gegenüber bestimmten Versionen? nur ein Vorschlag.. Inzwischen liege ich tot im Wasser..

Und deshalb wäre die Verfügbarkeit einer Binärdatei, die 9.1 unterstützt, schön: (aus den TF1.6-Versionshinweisen)

Die Verwendung von XLA:GPU mit CUDA 9 und CUDA 9.1 führt zu
CUDA_ILLEGAL_ADDRESS-Fehler.

Google hat Mitte Dezember 2017 entdeckt, dass der PTX-to-SASS-Compiler in CUDA 9
und CUDA 9.1 berechnet manchmal das Übertragsbit nicht richtig, wenn
Zerlegen von 64-Bit-Adressberechnungen mit großen Offsets (zB load [x + large_constant]) in 32-Bit-Arithmetik in SASS.

Infolgedessen kompilieren diese Versionen von ptxas die meisten XLA-Programme, die
mehr als 4 GB temporärer Speicher. Dies führt zu Müllergebnissen und/oder
CUDA_ERROR_ILLEGAL_ADDRESS-Fehler.

Ein Fix in CUDA 9.1.121 wird für Ende Februar 2018 erwartet. Wir erwarten keine
Fix für CUDA 9.0.x. Bis der Fix verfügbar ist, besteht die einzige Problemumgehung darin,
Downgrade auf CUDA 8.0.x
oder deaktivieren Sie XLA:GPU.

Vielleicht tut es eines der Nachtlieder?

Eine andere Lösung? Kann man mehrere Revisionen von Cuda installieren, da TF nach bestimmten Revs zu suchen scheint? Wenn ja, irgendwelche Ratschläge, wie das geht?

Idealerweise könnte ich also TF 1.4 (der derzeit Cuda 8.0 erfordert) in einer Conda-Umgebung und TF 1.6 (der derzeit Cuda 9.0 erfordert) in einer anderen ausführen?

Also habe ich gerade sudo apt-get -y install cuda-toolkit-9.0 hinzugefügt und bin mit TF1.6 einsatzbereit

@dartdog nach der Installation von cuda-toolkit-9.0, hatten Sie das Problem ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory ?

@dartdog

sudo apt-get install cuda-7-0
vim ~/.bashrc
export PATH=/usr/local/cuda-7.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda7.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Dies soll auf jeden Fall in die Tensorflow-Dokumentation aufgenommen werden, wie von @bwesen gesagt. Es sollte auch in die Fehlerliste aufgenommen werden. Ist es uns möglich, dies trotzdem zu tun? Ich denke, ich werde ein neues Problem eröffnen, in dem ich darum bitte, entweder Unterstützung für cuda 9.1 hinzuzufügen oder zu erwähnen, dass Sie cuda 9.0 speziell in den Dokumenten benötigen, und dies auch in die Fehlerliste aufnehmen

Okay Leute. Ich habe jetzt ein neues Issue unter https://github.com/tensorflow/tensorflow/issues/17629 eröffnet.

Ich habe mich auch mit diesem Thema beschäftigt. Was hat bei mir mit tensorflow-gpu 1.6 funktioniert:

  • Ich habe das Toolkit als 9.0 aus dem Archiv heruntergeladen, aber es wurde als 9.1 installiert (ich weiß nicht warum ...)
  • Immer noch nicht gefunden libcublas.so.9.0
  • Ausführen: sudo apt-get install cuda-libraries-9-0 wie am Ende der Installationsanweisungen vorgeschlagen.
  • Das Problem scheint gelöst zu sein.

Wenn Sie möchten, dass tensorflow mit Ihrer CUDA-Version funktioniert, müssen Sie es zuerst deinstallieren, dann aus der Quelle kompilieren und die CUDA-Version angeben, während Sie ./configure ausführen
Detaillierte Informationen finden Sie hier: https://www.tensorflow.org/install/install_sources

Ich versuche diesen Link (der Tensorflow manuell erstellt)

Kann etwas länger dauern, aber Sie können die Nebenversionen auf diese Weise definieren.

@mldm4 tatsächlich hat der Befehl sudo apt-get install cuda wahrscheinlich 9.1 für Sie installiert, weil Sie das auch in Ihrem System hatten. Ich hatte das gleiche Problem und habe sudo apt-get install cuda-9-0 getan, um eine bestimmte Version zu installieren (ich hatte auch aus dem Archiv heruntergeladen).
Ich denke, der von Ihnen erstellte Befehl ( sudo apt-get install cuda-libraries-9-0 ) lädt auch cuda 9.0 herunter.
Dieses Problem ist nicht gelöst, wie ich in Ausgabe 17629 erwähnt habe, ich weiß, dass das Problem darin besteht, dass TensorFlow Version 9.0 erwartet, während ich 9.1 hatte. Das Problem besteht darin, dies in der Dokumentation deutlicher zu erwähnen und in die allgemeinen Installationsprobleme am Ende der Dokumentation aufzunehmen oder Tensorflow zu aktualisieren, um Cuda 9.1 zu akzeptieren.

also noch keine lösung?

@thread :

*Bitte die Beiträge aufmerksam durchlesen! *

Es ist Ihre Aufgabe, den Thread zu lesen und die Lösung zu finden; nicht einfach bis zum Ende scrollen.

@abrahamrhoffman das ist unhöflich.

Ich habe gerade meinen Batchrc von cuda-9.1 auf nur cuda geändert. Dann kann mein Tensorflow die libcublas.so.9.0 finden

Nur zur Info: Die nvidia-Website zum Herunterladen von cuda-9.0 lädt tatsächlich cuda-9.1 herunter. https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal

@DanlanChen Das liegt wahrscheinlich daran, dass Sie auch 9.1 installiert haben. Um 9.0 zu installieren, führen Sie in den Schritten zum Herunterladen sudo apt-get install cuda-9-0 anstelle von sudo apt-get install cuda .

@cubetastic33 Ich habe meine Tensorflow-Version herabgestuft und verwende cuda8.0, danke trotzdem.

@DanlanChen, aber ich denke, es wird bevorzugt, die neueste Version zu verwenden. Wenn Sie also jemals ein Upgrade durchführen möchten, wissen Sie jetzt, was zu tun ist! :Lächeln:

Ich stehe vor dem gleichen Problem, versuche jedoch, Tensorflow mit nvidia-docker auszuführen. Ich habe cuda-9-0 auf dem Host installiert, aber wenn ich versuche, meinen Docker-Container auszuführen, bekomme ich

ImportError: libcuda.so.1: cannot open shared object file: No such file or directory

@magick93 und alles, was hier auftaucht!

HÖR MAL ZU! Alles, was Sie brauchen, ist ein Downgrade Ihres cuda 9.1 -> cuda 9.0. Das ist es! Machen Sie es einfach (wenn Sie cuda 9.1 zuvor heruntergeladen haben, können Sie den folgenden Befehl in Ihrem Terminal ausführen):

sudo apt-get install cuda-9-0 und entfernen Sie cuda 9.1 mit rm -rf.

Übrigens, vergessen Sie nicht, $PATH in Ihrem ~/.bashrc zu ändern (9.1 -> 9.0).

Hallo @Oktai15

HÖR MAL ZU! Alles, was Sie brauchen, ist ein Downgrade Ihres cuda 9.1 -> cuda 9.0. Das ist es! TU es einfach

Ja, das habe ich getan - viele Male.

sudo apt-get install cuda-9-0
[sudo] password for anton: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
cuda-9-0 is already the newest version (9.0.176-1).
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
$ ldconfig -p | grep cuda
    libnvrtc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc.so.9.0
    libnvrtc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc.so
    libnvrtc-builtins.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc-builtins.so.9.0
    libnvrtc-builtins.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvrtc-builtins.so
    libnvgraph.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvgraph.so.9.0
    libnvgraph.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvgraph.so
    libnvblas.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvblas.so.9.0
    libnvblas.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvblas.so
    libnvToolsExt.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so.1
    libnvToolsExt.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnvToolsExt.so
    libnpps.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnpps.so.9.0
    libnpps.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnpps.so
    libnppitc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppitc.so.9.0
    libnppitc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppitc.so
    libnppisu.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppisu.so.9.0
    libnppisu.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppisu.so
    libnppist.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppist.so.9.0
    libnppist.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppist.so
    libnppim.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppim.so.9.0
    libnppim.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppim.so
    libnppig.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppig.so.9.0
    libnppig.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppig.so
    libnppif.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppif.so.9.0
    libnppif.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppif.so
    libnppidei.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppidei.so.9.0
    libnppidei.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppidei.so
    libnppicom.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicom.so.9.0
    libnppicom.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicom.so
    libnppicc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicc.so.9.0
    libnppicc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppicc.so
    libnppial.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppial.so.9.0
    libnppial.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppial.so
    libnppc.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppc.so.9.0
    libnppc.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libnppc.so
    libicudata.so.55 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.55
    libcusparse.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusparse.so.9.0
    libcusparse.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusparse.so
    libcusolver.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusolver.so.9.0
    libcusolver.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcusolver.so
    libcurand.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcurand.so.9.0
    libcurand.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcurand.so
    libcuinj64.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcuinj64.so.9.0
    libcuinj64.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcuinj64.so
    libcufftw.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufftw.so.9.0
    libcufftw.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufftw.so
    libcufft.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufft.so.9.0
    libcufft.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcufft.so
    libcudnn.so.7 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7
    libcudart.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so.9.0
    libcudart.so.7.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so.7.5
    libcudart.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudart.so
    libcudart.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so
    libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
    libcuda.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so
    libcublas.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcublas.so.9.0
    libcublas.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcublas.so
    libaccinj64.so.9.0 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libaccinj64.so.9.0
    libaccinj64.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libaccinj64.so
    libOpenCL.so.1 (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so.1
    libOpenCL.so (libc6,x86-64) => /usr/local/cuda-9.0/targets/x86_64-linux/lib/libOpenCL.so

Trotzdem kann ich dieses einfache Tensorflow-Skript nicht einmal ausführen, da ich dabei ImportError: No module named tensorflow.python.client bekomme

from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos if x.device_type == 'GPU']

get_available_gpus()

Ich hatte das gleiche Problem, das alle hier haben, die Installation von 9.0 hat geholfen, aber dann bekam ich andere Probleme.
Dann folgte ich dies und es für mich endlich geklappt.

@Oktai15 löscht rm -rf Ihr System nicht? Bitte seien Sie hier klarer, da die Leute es möglicherweise versuchen, ohne in das erforderliche Verzeichnis zu gehen, und am Ende ihren Home-Ordner leeren.

@magick93 Ihr Problem scheint etwas anderes zu sein, nicht die CUDA-Version.

Ich hatte das gleiche Problem, ich glaube, ich habe es durch einige Änderungen gelöst, diese Kombination funktioniert für mich

Ubuntu 16, cuda 9.0, cudnn 7.0, Python 3,5, Tensorflow 1.6

Wenn Sie neue cuda installieren, während Sie noch eine vorherige Version haben, stellen Sie bitte sicher, dass Sie den Pfad wie folgt angeben

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

@Abduoit deine Ubuntu-Version spielt keine Rolle. Die Sache ist die, TensorFlow 1.6 erwartet, dass CUDA Version 9.0 und cuDNN Version 7.0.4 ist (ja, die 0.4 spielt eine Rolle)

Traceback (letzter Anruf zuletzt):
Datei "utils.py", Zeile 15, in
Tensorflow als tf importieren
Datei "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/__init__.py", Zeile 24, in
aus tensorflow.python-Import *
Datei "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/__init__.py", Zeile 49, in
von tensorflow.python importieren pywrap_tensorflow
Datei "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", Zeile 74, in
Erhöhen Sie ImportError(msg)
ImportError: Traceback (letzter Aufruf zuletzt):
Datei "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", Zeile 58, in
von tensorflow.python.pywrap_tensorflow_internal import *
Datei "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", Zeile 28, in
_pywrap_tensorflow_internal = swig_import_helper()
Datei "/home/sagar/miniconda2/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", Zeile 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, Pfadname, Beschreibung)
ImportError: libcublas.so.9.0: Shared Object File kann nicht geöffnet werden: No such file or directory

Fehler beim Laden der nativen TensorFlow-Laufzeit.

Siehe https://www.tensorflow.org/install/install_sources#common_installation_problems
sudo apt-get install cuda-7-0
vim ~/.bashrc
export PATH=/usr/local/cuda-7.0/bin${PATH:+:${PATH}}
exportiere LD_LIBRARY_PATH=/usr/local/cuda7.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
exportiere LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PA
aus einigen gängigen Gründen und Lösungen. Den gesamten Stack-Trace einschließen
über dieser Fehlermeldung, wenn Sie um Hilfe bitten.

Wie @pascalwhoop erwähnte, habe ich die Anweisungen hier http://www.python36.com/install-tensorflow141-gpu/ befolgt, um Tensorflow aus der Quelle zu erstellen.

Immer wenn cuda 9.0 stand, wechselte ich zu 9.1 und cudnn 7.0 setzte ich 7.1.2.

Hat bis jetzt gut funktioniert!

@SAGGSOC warum installierst du cuda 7.0? Sie benötigen CUDA 9.0 und CuDNN 7.0.4

Jeder, der Probleme hatte: Wer hat Lust, daraus ein solides Docker-Image zu machen, das mit der Community geteilt wird? Machen Sie lieber einmal einen 6-GB-Image-Pull, der funktioniert, als 5 Versionen von CuDNN DLing, bevor das Zeug funktioniert.

https://github.com/pascalwhoop/tf_openailab_gpu_docker

Ich habe vor einiger Zeit angefangen, aber wegen wechselnder Projektschwerpunkte aufgehört. Aber ich denke, es lohnt sich, weiterzumachen. Hält den meisten Leuten die ganze Mühe fern, die richtige Kombination aus 17 beweglichen Teilen zu finden.

Nur um ein paar Dinge für alle klarzustellen, die über diesen Beitrag stolpern könnten. Ich habe in meinem System cuda-8.0, cuda-9.0, cuda-9.1 installiert. Sie müssen nichts entfernen, damit es mit tensorflow funktioniert. Wenn cuda-9.0 in Ihrem System fehlt, müssen Sie es stattdessen installieren, wie andere bereits erwähnt haben, was eine Voraussetzung dafür ist, dass Tensorflow ordnungsgemäß funktioniert.

Wenn Sie cuda-9.0 auf Ihrem System installiert haben und sich tensorflow erneut über libcublas.so.9.0 beschwert, wie andere gesagt haben, stellen Sie dies während der Laufzeit durch Ihre LD_LIBRARY_PATH Umgebungsvariable in Ihrem .bashrc Make it Zeigen Sie auf /usr/local/cuda-9.0/lib64 . Dies sollte sogar für Tensorflow 1.7 funktionieren.

Was ich versucht habe und gescheitert bin, ist das Erstellen aus der Quelle. Aus irgendeinem Grund wird bazel immer mit einem Fehler beendet. Wenn Sie versuchen, mit cuda-9.0/cuda-9.1 und cudnn7 zu bauen, beschwert es sich über gcc7. Die Verwendung der gcc5-Kompilierung scheint gut zu funktionieren, aber am Ende erhalte ich immer eine Fehlermeldung und der Build ist nicht erfolgreich.

Meine Frage ist, ob es jemandem gelungen ist, mit cuda-9.1/cuda-9.0 ohne Probleme aus dem Quellcode zu kompilieren?

Bei mir hat das funktioniert:

Laden Sie CUDA Toolkit 9.0 aus dem Abschnitt zu früheren Versionen von NVidia herunter.
Dann:

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub 
sudo apt-get update
sudo apt-get install cuda-9.0

Beachten Sie 9.0 in der letzten Zeile oben.

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64

Mein Setup
Tensorflow 1.7
cuDNN 7.1.2
Ubuntu 16.04

etemiz,
Ich habe das gleiche Setup und bei mir funktioniert es auch.

Danke für deinen Beitrag :)

Ich hatte die gleiche Situation. Ich hatte cuda 9.1 und tensorflow würde keine Bibliotheken für cuda 9.0 finden.

Ich habe cuda 9.0 mit dem Befehl installiert: sudo apt-get install cuda-libraries-9-0

Das hat mein Problem gelöst.

Wenn cuda 8 und 9.0 installiert sind, funktioniert die Einstellung von LD_LIBRARY_PATH in .bashrc und .profile nicht. Also setze ich
LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 im pycharm-Umgebungsvariablenfeld und es funktioniert.

das obige funktionierte für die Installation auf Ubuntu Server 17. nämlich

  • cuda-9.0 installieren (NICHT 9.1)
  • cuDNN v7.1.2 (21.03.2018) für CUDA 9.0
  • alles andere gemäß der offiziellen tf-Installationsanleitung

viel einfacher als das kompilieren.

Seien Sie vorsichtig mit Conda-Benutzern. Ich hatte das gleiche Problem und kratzte mir zwei Tage lang am Kopf, bis ich schließlich entdeckte, dass eine lokale Kopie von libcudnn.so von Conda verwendet wurde, unter:
/miniconda3/lib/libcudnn.so, das auf libcudnn.so.7 zeigte, das auf libcudnn.so.7.0.5 zeigte
Ich kann mich nicht erinnern, wer und wie es dort platziert hat, aber es hat die Systemvorgabe libcudnn.so.7.1.2 ziemlich überlastet !!!

Einmal entfernt, funktioniert alles wie ein Zauber:
tensorflow 1.7 oder 1.8-nächtlich, cuda-9.1, cudnn-7.1.2 auf Ubuntu 16.04

Irgendwie habe ich das gelöst, indem ich installiert habe:
cuda 9.1 (vom Paketmanager),
cudnn 7.1 für 9.1
und von Anakonda:
mit diesem Standardbefehl 'conda install -c anaconda tensorflow-gpu'
cudatoolkit 9.0,
tensorflow 1.7,
Tensorflow-GPU 1.7

Ich habe Antergos Linux, GTX 1060 in meinem PC verwendet. In meinem Notebook (Xubuntu 18.04, GT 840m) hat es auch funktioniert. In meinem Notizbuch habe ich verwendet:
cuda 9.1 (von nvidia ppa), cudnn 7.1 für 9.1 (von nvidia web) und der Rest war gleich

Danke @Suananda! Es funktioniert wie von Zauberhand.

Wenn Sie eine alte Version von CUDA haben, kann der Bibliothekslink auf die alte Bibliothek verweisen, selbst wenn Sie die neuere CUDA installieren, insbesondere wenn Sie sie manuell installieren. Versuchen Sie, Ihre alte Installation zu löschen, und dann sudo ldconfig, um die dynamischen Links zu aktualisieren.

Noch keine Lösung!?

Für alle, die darüber stolpern könnten, habe ich ein Community-Rad des neuesten tensorflow 1.8.0-rc1 veröffentlicht, das mit cuda 9.1 erstellt wurde. Sie finden es hier !

Ich habe festgestellt, dass der Grund ldconf ist, ldconfig ist ein Befehl zur Verwaltung von dynamischen Linkbibliotheken, dessen Zweck es ist, die Verwendung der Dynamic Link Library durch das System zu ermöglichen.

Die Standard-ldconf durchsucht nur /lib und /usr/lib, sowie die Bibliotheksdatei unter dem Verzeichnis, das in der Konfigurationsdatei /etc/ld. Also. Konf.

All dies wird also durch die dynamische Bibliothek von CUDA im installierten CUDA-Pfad verursacht, wie zum Beispiel: /path/cuda-9.0/lib64 oder /path/cuda-9.0/lib. (zum Beispiel ist mein CUDA in /usr/local/cuda-9.0 installiert)

  1. Wenn Sie das CUDA-Handbuch installieren, sollten Sie nach der Installation den Pfad von cuda/lib64 zur Datei /etc/ld.so.conf hinzufügen
    sudo echo "/usr/local/cuda-9.0/lib64/" >> /etc/ld.so.conf
    dann
    sudo ldconfig

    Natürlich können Sie das Pfadhandbuch hinzufügen, wie zum Beispiel:
    vim /etc/ld.so.conf
    fügen Sie dann am Ende den Pfad '/usr/local/cuda-9.0/lib64' hinzu.
    sudo ldconfig
    Öffnen Sie nach der Operation den ipython oder pycharm erneut,
    Tensorflow als tf importieren
    wow, du wirst es genießen!

  2. Wenn Sie CUDA mit einem Befehl wie 'dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb' oder anderen installieren, wird der Pfad der cuda-Bibliothek möglicherweise automatisch zu /etc/ld.so.conf hinzugefügt. aber um auf der sicheren Seite zu sein, überprüfen Sie die /etc/ld.so.conf und sehen Sie nach, ob der Pfad dazu hinzugefügt wird.

@NYcleaner
Unter Ubuntu gibt es eine /etc/ld.so.conf.d/cuda-9-1.conf Datei, die Folgendes enthält:
/usr/local/cuda-9.1/targets/x86_64-linux/lib

Ist das genug oder muss ich das Verzeichnis /usr/local/cuda-9.1/lib64/ hinzufügen?

@sebma
Sie sollten den Pfad /usr/local/cuda-9.1/lib64/ hinzufügen, die * .so-Dateien befinden sich in der lib64

sudo bash -c "echo /usr/local/cuda/lib64/ >/etc/ld.so.conf.d/cuda.conf"
sudo ldconfig

von https://gist.github.com/zhanwenchen/e520767a409325d9961072f666815bb8

@mashu Nun, die andere Möglichkeit ist, dass die Community vorgefertigte Räder zur Verfügung stellt . Wenn du oben 2-3 Threads liest, wirst du das auch noch einmal erwähnt sehen.

@Suananda Danke, es funktioniert für mich in einer Tensorflow-Conda-Umgebung.
Schlagen Sie den offiziellen Jungs vor, die Installationsanleitung " https://www.tensorflow.org/install/install_linux#InstallingAnaconda ", Schritt 4 der Anaconda-Installation, von "pip install --ignore-installed --upgrade tfBinaryURL" in "conda ." zu ändern install -c anaconda tensorflow-gpu"

Softlink scheint dieses Problem nicht zu lösen:

➜  cuda ls lib64 
libaccinj64.so                libcufftw_static.a     libnppial.so.9.2      libnppig_static.a    libnvblas.so.9.2
libaccinj64.so.9.2            libcuinj64.so          libnppial.so.9.2.88   libnppim.so          libnvblas.so.9.2.88
libaccinj64.so.9.2.88         libcuinj64.so.9.2      libnppial_static.a    libnppim.so.9.2      libnvgraph.so
libcublas_device.a            libcuinj64.so.9.2.88   libnppicc.so          libnppim.so.9.2.88   libnvgraph.so.9.2
libcublas.so                  libculibos.a           libnppicc.so.9.2      libnppim_static.a    libnvgraph.so.9.2.88
libcublas.so.9.0              libcurand.so           libnppicc.so.9.2.88   libnppist.so         libnvgraph_static.a
libcublas.so.9.2              libcurand.so.9.2       libnppicc_static.a    libnppist.so.9.2     libnvrtc-builtins.so
libcublas.so.9.2.88           libcurand.so.9.2.88    libnppicom.so         libnppist.so.9.2.88  libnvrtc-builtins.so.9.2
libcublas_static.a            libcurand_static.a     libnppicom.so.9.2     libnppist_static.a   libnvrtc-builtins.so.9.2.88
libcudadevrt.a                libcusolver.so         libnppicom.so.9.2.88  libnppisu.so         libnvrtc.so
libcudart.so                  libcusolver.so.9.2     libnppicom_static.a   libnppisu.so.9.2     libnvrtc.so.9.2
libcudart.so.9.2              libcusolver.so.9.2.88  libnppidei.so         libnppisu.so.9.2.88  libnvrtc.so.9.2.88
libcudart.so.9.2.88           libcusolver_static.a   libnppidei.so.9.2     libnppisu_static.a   libnvToolsExt.so
libcudart_static.a            libcusparse.so         libnppidei.so.9.2.88  libnppitc.so         libnvToolsExt.so.1
libcufft.so                   libcusparse.so.9.2     libnppidei_static.a   libnppitc.so.9.2     libnvToolsExt.so.1.0.0
libcufft.so.9.2               libcusparse.so.9.2.88  libnppif.so           libnppitc.so.9.2.88  libOpenCL.so
libcufft.so.9.2.88            libcusparse_static.a   libnppif.so.9.2       libnppitc_static.a   libOpenCL.so.1
libcufft_static.a             libnppc.so             libnppif.so.9.2.88    libnpps.so           libOpenCL.so.1.0
libcufft_static_nocallback.a  libnppc.so.9.2         libnppif_static.a     libnpps.so.9.2       libOpenCL.so.1.0.0
libcufftw.so                  libnppc.so.9.2.88      libnppig.so           libnpps.so.9.2.88    stubs
libcufftw.so.9.2              libnppc_static.a       libnppig.so.9.2       libnpps_static.a
libcufftw.so.9.2.88           libnppial.so           libnppig.so.9.2.88    libnvblas.so

Habe noch:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.6/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.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.6/imp.py", line 343, 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:

Wenn ich meinen Code direkt in der Linux-Umgebung ausführe, ist alles in Ordnung. Aber wenn ich den lokalen Pycharm über den Remote-Interpreter ausführe, stoße ich auf das Problem: ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory. "Failed to load the native TensorFlow runtime."

export PATH=${PATH}:/usr/local/cuda-9.0/bin
export CUDA_HOME=${CUDA_HOME}:/usr/local/cuda:/usr/local/cuda-9.0
exportiere LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-9.0/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64

Wenn Sie pycharm verwenden - fügen Sie es zum Interpreter hinzu

Was ist mit F** Ich möchte nur tensorflow1.8 und cuda9.1 verwenden?

@dongzhuoyao Also, was ist das Problem? schau dir meinen Kommentar 6 Threads oben an und du wirst dort deine Lösung finden!

Ich denke, das Problem ist mit cuda 9.2 und tensorflow-gpu 1.8 wieder aufgetaucht. In einer virtuellen Umgebung erhalte ich:

>>> import tensorflow as tf
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

Mein /usr/local/cuda-9.2/lib64 Ordner enthält die folgenden libcublas:

$ ls /usr/local/cuda-9.2/lib64 | grep libcublas
libcublas_device.a
libcublas.so
libcublas.so.9.2
libcublas.so.9.2.113
libcublas.so.9.2.88
libcublas_static.a

Versionen:

Ubuntu 16.04
cuda 9.2
cudnn 7.1.4
tensorflow-gpu 1.8.0

Wir benötigen ein Update für tensorflow-gpu, um cuda 9.2 verwenden zu können.

Wenn ich auf cuda 9.0 downgraden würde, müsste ich dann zuerst cuda 9.2 entfernen oder einfach 9.0 sofort installieren? Hätte ich widersprüchliche Installationen?

@mebble Hier gehts: Link . Das ist TF 1.8 Wheel für cuda 9.2.

Wenn ich auf cuda 9.0 downgraden würde, müsste ich zuerst cuda 9.2 entfernen?

Nicht downgraden. Installieren Sie eine beliebige andere Version, die Sie bei /usr/local/cuda-x.x installieren

Danke! Ich habe vergessen zu erwähnen, dass ich python 3.5.2 und pip 10.0.1 . Ich denke, das Rad ist für Python 3.6, daher funktioniert die Installation nicht. Hast du auch einen für 3.5?

@kirk86 nach der Installation des von Ihnen angegebenen Whl wird ein ähnlicher Fehler für libmpi.so.40 ausgegeben
Ich verwende CentOS und K80 GPU, cuda 9.2 und cudnn v7.1

Anregung

Soweit ich weiß kann man Unterpakete xxx,yyy,zzz etc. haben und wie folgt installieren

pip install mainpackage[xxx]

Auf diese Weise können verschiedene koexistierende Back-Ends bereitgestellt werden. Tensorflow kann mit verschiedenen Optionen erstellt werden, sodass zumindest ein paar cuda-toolkit-Builds auf diese Weise bereitgestellt werden könnten.

Der ganze Sinn des Pakets besteht darin, Zeit beim Erstellen zu sparen, aber das Erstellen von Paketen für sehr spezielle Bibliotheken, die gut installiert werden, aber nicht funktionieren, ist kontraproduktiv. Es wäre besser, ein solches Paket gar nicht erst zu haben.

@mebble erstellen Sie einfach eine virtuelle Conda-Umgebung für Python 3.6. Stellen Sie sicher, dass Sie auch openmpi auf Ihrem System installiert haben.

@pavan-08 Installieren Sie openmpi auf Ihrem System auch nccl 2.x, was auch immer das Neueste von nvidia ist. Ich habe tf mit den meisten Paketen und Bibliotheken kompiliert, sodass es mit hdfs, kafta, aws usw. verwendet werden kann. Deshalb frage ich nach libmpi.so, weil es aus der Openmpi-Bibliothek stammt.

Mit cuda 9.2 und tensorflow-gpu 1.8 kann ich kein tensorflow bauen

Die deklarierte Ausgabe 'external/local_config_cuda/cuda/cuda/lib/libcudnn.so.7' ist ein baumelnder symbolischer Link

Der Symlink existiert

Versionen:

Ubuntu 17.10
cuda 9.2
cudnn 7.1.4
Tensorflow-GPU 1.8.0

Das funktioniert bei mir (tensorflow-gpu==1.8.0 und cuda-Version ist 9.0, in Anaconda installieren)

export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/

Vorschlag von: https://stackoverflow.com/questions/48428415/importerror-libcublas-so-9-0-cannot-open-shared-object-file

@Jackiexiao Ja, das wollte ich sagen. Ich verwende eine Workstation, also musste ich nur CUDA 9.0 anstelle von 9.2 verwenden (da mehrere Versionen von CUDA installiert wurden)

Bei mir hat das funktioniert:
Da Tensorflow > 1.4 CUDA 9 erfordert, habe ich alle CUDA-Versionen deinstalliert:

  1. sudo rm -rf /usr/local/cuda*
  2. dpkg -l | grep cuda- | awk '{print $2}' | xargs -n1 sudo dpkg --purge

Installieren Sie genau CUDA 9.0 und CuDNN 7.0.x und starten Sie neu.

Siehe Kombinationen von CUDA, CuDNN und Tensorflow .

Dieser Fehler tritt hauptsächlich aufgrund falscher Versionskombinationen von Nvidia-Treiber, CUDA, CuDNN und Tensorflow-gpu auf
image

Danke!

| |
杨康
|
|
[email protected]
|

签名由 网易邮箱大师 定制

Am 18.08.2018 08:00 schrieb Dhruv Srivastava:

Bitte beachten Sie Kombinationen von CUDA und CuDNN.

Dieser Fehler tritt hauptsächlich aufgrund falscher Versionskombinationen von Nvidia-Treiber, CUDA, CuDNN und Tensorflow-gpu auf


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

@dhruvhacks Gut. Ich denke, die Leute sollten die richtige Version von tensorflow-gpu mit der richtigen Version von cuda installieren.

Ich verwende Ubuntu 18.08 und hatte Cuda 9.0 installiert unter:

/usr/local/cuda-9.0

Ich beschloss, nach dem libcublas.so.9.0 zu suchen:

# build search index
updatedb
# find the "missing" file
locate libcublas.so.9.0

Das sagte mir, dass die Datei in /usr/local/cuda-9.0/lib64/stubs/libcublas.so.9.0 , was mir half zu erkennen, dass ich zwei Probleme hatte: In ~/.bash_profile ich festgelegt: export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/ , aber meine Datei war in stubs Verzeichnis, also musste ich Folgendes verwenden:

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/stubs/

Schließlich gehörte libcublas.so.9.0 root, also habe ich die Berechtigungen und den Besitzer der Datei geändert:

sudo chown -R MY_USER:MY_GROUP /usr/local/cuda-9.0/
sudo chmod -R 777 /usr/local/cuda-9.0/

Und alles war gut!

Wenn cuda 8 und 9.0 installiert sind, funktioniert die Einstellung von LD_LIBRARY_PATH in .bashrc und .profile nicht. Also setze ich
LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 im pycharm-Umgebungsvariablenfeld und es funktioniert.

Genau, vielen Dank für die Lösung des Problems, ich habe Tage damit verbracht, das zu lösen. schätze es wirklich, Kumpel

Ich stoße auch auf dieses Problem, wenn ich PyCharm verwende , um meinen Code auf einem Remote-Server zu debuggen (aws deep learning ami). Die cuda-Version ist 9.0 und die cudnn ist 7.1.4 und tensorflow ist 1.10.0 (für gpu). Ich kann Tensorflow normal über ein Terminal importieren, das mit meinem Server verbunden ist, aber Tensorflow kann nicht in die Python-Konsole von PyCharm importiert werden. Das Problem tritt zu diesem Zeitpunkt auf. Daher kann ich mit PyCharm nicht debuggen...
Meine Lösung ist : Geben Sie diese Zeile in das Terminal ein, nachdem Sie eine Verbindung zu Ihrem Server hergestellt haben

sudo ldconfig /usr/local/cuda/lib64

Und ich habe auf diesen Link verwiesen

@NYcleaner Vielen Dank! Es hilft! und ich fand nur symbolischen Link verwenden funktioniert auch.
sudo echo "/usr/local/cuda/lib64/" >> /etc/ld.so.conf
sudo ldconfig

Dies ist immer noch ein Problem mit Cuda 9.1 und Tensorflow 1.11

cuda 10.0 tensorflow 1.11

Noch bessere Lösung - Tensorflow entfernen, Pytorch installieren
Warum kann tensorflow so leicht bremsen?
Warum kann ich es nicht einfach installieren und ausführen?
Warum ist es mit pytorch so einfach und mit tf unvorhersehbar? Wtf ist falsch damit?

Warum installierst du nicht einfach cuda-9-0?

sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-key adv --fetch-keys \
     http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9-0

Unter Ubuntu 18.04 ist cuda 9-0 (offiziell) nicht verfügbar. Es funktioniert aber.

Hallo zusammen,
Ich verwende PyTorch so oft wie möglich, aber für ein bestimmtes Projekt, bei dem ich ein (Keras-)Modell nach tensorflowjs exportieren muss, bin ich gezwungen, tf zu verwenden. Die einzige Lösung, die für mich gut funktioniert hat, war das Erstellen aus dem Quellcode, nachdem CUDA aus dem Ubuntu-Multiversum installiert wurde, wie hier beschrieben:

https://medium.com/@asmello/how-to-install-tensorflow-cuda-9-1-into-ubuntu-18-04-b645e769f01d

Viel Glück!

Noch bessere Lösung - Tensorflow entfernen, Pytorch installieren
Warum kann tensorflow so leicht bremsen?
Warum kann ich es nicht einfach installieren und ausführen?
Warum ist es mit pytorch so einfach und mit tf unvorhersehbar? Wtf ist falsch damit?

Dumme Lösung

Ich habe Cuda 10 und die neueste Version von Tensor Flow installiert, aber ich habe ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory , ich habe das Downgrade durchgeführt und erhalte immer noch diese Nachricht...

Ich habe Cuda 10 und die neueste Version von Tensor Flow installiert, aber ich habe ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory , ich habe das Downgrade durchgeführt und erhalte immer noch diese Nachricht...

Könnten Sie uns die Betriebssystemversion und den genauen Befehl mitteilen, den Sie zum "Downgrade" ausgegeben haben?

Ich habe Deepin 15.8 und Mint 19.1 ausprobiert, ich werde später Windows 10 testen. Der Befehl pip install --upgrade tensorflow-gpu==version , habe ich versucht , die Master - Versionen: 1.9.0, 1.10.1, 1.11.0 und 1.12.0. Die cuda- Version und die Treiber:

image

@Sphinxs , meiner Meinung nach haben Sie zwei Möglichkeiten: a) das Python-Rad lokal neu zu kompilieren, sodass es auf die installierte cuda-Version verweist oder b) cuda-9.0 installieren, wie ich es für meine 18.04-Installation getan habe, und es funktioniert nach Monaten immer noch.

Noch bessere Lösung - Tensorflow entfernen, Pytorch installieren
Warum kann tensorflow so leicht bremsen?
Warum kann ich es nicht einfach installieren und ausführen?
Warum ist es mit pytorch so einfach und mit tf unvorhersehbar? Wtf ist falsch damit?

der mann hat recht. TF KANN kompiliert werden, um mit moderneren CUDA-Versionen zu arbeiten ... warum bieten Sie das nicht einfach den meisten Leuten mit einem tensorflow-gpu-cuda110 Paket oder etwas Temporärem an, bis die Bibliothek die zugrunde liegende cuda-Version dynamisch herausfinden kann?

Noch bessere Lösung - Tensorflow entfernen, Pytorch installieren
Warum kann tensorflow so leicht bremsen?
Warum kann ich es nicht einfach installieren und ausführen?
Warum ist es mit pytorch so einfach und mit tf unvorhersehbar? Wtf ist falsch damit?

Ich bin es leid!!!!

Ich bin es leid!!!!

Dieser Kommentar fügt dem Problem nichts hinzu. Auch zwingt niemand jemanden, TF zu verwenden, aber wenn Sie Pip-Pakete wirklich brauchen und nicht zum Laufen bringen, warum bauen Sie es nicht selbst? Das ist es, was ich irgendwann gemacht habe. Ich habe gesehen, dass es hier auch von der Community unterstützte Builds gibt
https://github.com/tensorflow/tensorflow scrollen Sie einfach nach unten.
Vielleicht für deine GPU bauen und dazu beitragen?

Noch bessere Lösung - Tensorflow entfernen, Pytorch installieren
Warum kann tensorflow so leicht bremsen?
Warum kann ich es nicht einfach installieren und ausführen?
Warum ist es mit pytorch so einfach und mit tf unvorhersehbar? Wtf ist falsch damit?

Ich bin es leid!!!!

Dies ist eine Themenseite. Bitte geben Sie Ihre Probleme an, damit sie behoben werden können, oder, noch besser, helfen Sie, sie zu beheben.

@raphaunix darf ich fragen, woher dieses Diagramm stammt?

Ich habe Tensorflow 1.11.0 zum Laufen gebracht, indem ich die folgenden Befehle ausgeführt habe:

conda create -n tf python=2
conda activate tf
pip install tensorflow-gpu==1.11
conda install cudatoolkit==9.0

Ich habe festgestellt, dass der Grund ldconf ist, ldconfig ist ein Befehl zur Verwaltung von dynamischen Linkbibliotheken, dessen Zweck es ist, die Verwendung der Dynamic Link Library durch das System zu ermöglichen.

Die Standard-ldconf durchsucht nur /lib und /usr/lib, sowie die Bibliotheksdatei unter dem Verzeichnis, das in der Konfigurationsdatei /etc/ld. Also. Konf.

All dies wird also durch die dynamische Bibliothek von CUDA im installierten CUDA-Pfad verursacht, wie zum Beispiel: /path/cuda-9.0/lib64 oder /path/cuda-9.0/lib. (zum Beispiel ist mein CUDA in /usr/local/cuda-9.0 installiert)

1.Wenn Sie das CUDA-Handbuch installieren, sollten Sie nach der Installation den Pfad von cuda/lib64 zur Datei /etc/ld.so.conf hinzufügen
sudo echo "/usr/local/cuda-9.0/lib64/" >> /etc/ld.so.conf
dann
sudo ldconfig
Natürlich können Sie das Pfadhandbuch hinzufügen, wie zum Beispiel:
vim /etc/ld.so.conf
dann fügen Sie am Ende den Pfad '/usr/local/cuda-9.0' hinzu.
dann aktualisiere es
sudo ldconfig
Öffnen Sie nach der Operation den ipython oder pycharm erneut,
import tensorflow as tf
wow, du wirst es genießen!

Wenn Sie CUDA mit einem Befehl wie 'dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb' oder anderen installieren, wird der Pfad der cuda-Bibliothek möglicherweise automatisch zu /etc/ld.so.conf hinzugefügt. aber um auf der sicheren Seite zu sein, überprüfen Sie die /etc/ld.so.conf und sehen Sie nach, ob der Pfad dazu hinzugefügt wird.

@jabalazs Anstelle von conda install cudatoolkit==9.0 ich pip install cudatoolkit==9.0 versucht, aber das hat nicht funktioniert, weißt du warum?

Ich habe festgestellt, dass meine Laufzeit auf Colab keine GPU verwendet, deshalb habe ich meinen Fehler erhalten

Noch bessere Lösung - Tensorflow entfernen, Pytorch installieren
Warum kann tensorflow so leicht bremsen?
Warum kann ich es nicht einfach installieren und ausführen?
Warum ist es mit pytorch so einfach und mit tf unvorhersehbar? Wtf ist falsch damit?

Gute Lösung @dodler ! aber ich denke, Sie vermissen die Befehle, um diesen großartigen Rat durch xD leicht zu befolgen.

pip uninstall tensorflow
pip install torch

Viel Spaß beim Codieren!

Ich hatte denselben Fehler, als ich versuchte, Thundersvm zu verwenden, um NuSVR mit GPUs in Google Colab zu beschleunigen.
Die Installation von Cuda 9.0 hat das Problem für mich gelöst.
Folge einfach:

!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb

!ls # Check if required cuda 9.0 amd64-deb file is downloaded

!dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb

!ls /var/cuda-repo-9-0-local | grep .pub

!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub

!apt-get update

!sudo apt-get install cuda-9.0

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen