2017-02-23 3 views
0

Ich habe Cuda 8 und den neuen Tensorflow 1.0 installiert. Wenn ich laufen "Import tensorflow als tf" ich folgendes erhalten:Wie Debuggen eines Segmentierungsfehlers 11 auf TensorFlow?

I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.8.0.dylib locally 
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.5.dylib locally 
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.8.0.dylib locally 
Segmentation fault: 11 

Zu wissen, dass nvcc -V folgendes ergibt:

nvcc: NVIDIA (R) Cuda compiler driver 
Copyright (c) 2005-2016 NVIDIA Corporation 
Built on Sun_Oct_30_22:18:43_CDT_2016 
Cuda compilation tools, release 8.0, V8.0.54 

Jede Idee, wie diese Segmentierungsfehler zu beheben?

Antwort

0

Möglicherweise fehlt Ihnen eine Bibliothek in Ihrer lokalen Cuda-Installation. Zum Beispiel, /usr/local/cuda/lib/libcuda.dylib fehlte mir nach dem Versuch, CUDA Toolkit 8.0 lokal zu installieren (möglicherweise weil ich die Treiber zuerst vor dem Toolkit installiert habe, wie dieser alte Thread vorschlägt: https://render.otoy.com/forum/viewtopic.php?f=25&t=1859). Erneutes Ausführen des Installationsprogramms, damit nur der Treiber es ordnungsgemäß installierte, und auch eine Verknüpfung mit einem anderen Namen (https://github.com/tensorflow/tensorflow/issues/3263#issuecomment-232184358).

Zuletzt, überprüfen Sie Ihre Umgebung Variablenpfade, sehen Sie, ob echo $DYLD_LIBRARY_PATH richtig aussieht.

Nebenbei sah ich noch einige Warnungen beim Testen der Installation, z. The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.. Diese schlagen nur vor, aus der Quelle (https://github.com/tensorflow/tensorflow/issues/8037) zu bauen, anstatt pip install --upgrade tensorflow-gpu zu verwenden.

0

Ich denke, Ihr Problem in diesem

tensorflow issue

skizziert ist es, dass für eine ältere Version von TF auf MacOS erscheint ist, libcuda.1.dylib statt libcuda.dylib geladen.

Die crappy Lösung ist ein symbolischer Link zu erstellen oder den Namen libcuda.dylib-libcuda.1.dylib in /usr/local/cuda/lib

Viel Glück ändern!

Verwandte Themen