Ich habe festgestellt, dass einige neuere TensorFlow-Versionen nicht mit älteren CUDA- und cuDNN-Versionen kompatibel sind. Gibt es eine Übersicht über die kompatiblen Versionen oder sogar eine Liste offiziell getesteter Kombinationen? Ich kann es nicht in der TensorFlow-Dokumentation finden.
144
Antworten:
Allgemein:
Überprüfen Sie die CUDA-Version:
und cuDNN-Version:
und installieren Sie eine Kombination wie unten in den Bildern oder hier angegeben .
Die folgenden Bilder und der Link bieten einen Überblick über die offiziell unterstützten / getesteten Kombinationen von CUDA und TensorFlow unter Linux, macOS und Windows:
Kleinere Konfigurationen:
Da die unten angegebenen Spezifikationen in einigen Fällen zu weit gefasst sein können, funktioniert hier eine bestimmte Konfiguration:
tensorflow-gpu==1.12.0
cuda==9.0
cuDNN==7.1.4
Das entsprechende Cudnn kann hier heruntergeladen werden .
(Zahlen aktualisiert am 20. Mai 2020)
Linux GPU
Linux
macOS GPU
Mac OS
(Abbildung aktualisiert am 31. Mai 2018)
Windows
Aktualisiert am 14. Januar 2020: Die aktualisierten Informationen finden Sie unter Link für Linux und Link für Windows .
quelle
Die auf der Tensorflow-Site angegebene Kompatibilitätstabelle enthält keine spezifischen Nebenversionen für cuda und cuDNN. Wenn jedoch die spezifischen Versionen nicht erfüllt sind, tritt ein Fehler auf, wenn Sie versuchen, Tensorflow zu verwenden.
Für
tensorflow-gpu==1.12.0
undcuda==9.0
ist die kompatiblecuDNN
Version7.1.4
, die nach der Registrierung von hier heruntergeladen werden kann .Sie können Ihre Cuda-Version mit überprüfen
nvcc --version
cuDNN-Version mit
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
Tensorflow-GPU-Version mit
pip freeze | grep tensorflow-gpu
UPDATE: Seit Tensorflow 2.0 veröffentlicht wurde, werde ich auch die kompatiblen cuda und cuDNN Versionen dafür teilen (für Ubuntu 18.04).
tensorflow-gpu
= 2.0.0cuda
= 10,0cuDNN
= 7.6.0quelle
Wenn Sie in jupyter notebook codieren und überprüfen möchten, welche cuda-Version tf verwendet, führen Sie den folgenden Befehl direkt in jupyter cell aus:
und um zu überprüfen, ob die GPU für tf sichtbar ist:
quelle
Sie können diese Konfiguration für cuda 10.0 verwenden (10.1 funktioniert nicht ab dem 18. März), dies läuft für mich:
Installieren Sie die Version tensorflow gpu:
quelle
Ich hatte versehentlich CUDA 10.1 und CUDNN 7.6 installiert. Sie können folgende Konfigurationen verwenden (Dies hat bei mir funktioniert - Stand 9/10). ::
Aber ich musste Symlinks erstellen, damit es funktioniert, da Tensorflow ursprünglich mit CUDA 10 funktioniert.
Und füge folgendes zu meinem ~ / .bashrc hinzu -
quelle
Ich hatte ein ähnliches Problem nach dem Upgrade auf TF 2.0. Die von TF gemeldete CUDA-Version stimmte nicht mit der Installation von Ubuntu 18.04 überein. Es hieß, ich würde CUDA 7.5.0 verwenden, aber apt dachte, ich hätte die richtige Version installiert.
Was ich hatte schließlich war rekursiv zu tun grep
/usr/local
fürCUDNN_MAJOR
, und ich fand , dass/usr/local/cuda-10.0/targets/x86_64-linux/include/cudnn.h
in der Tat als die Version angegeben haben7.5.0
. Ich/usr/local/cuda-10.1
habe es richtig verstanden und/usr/local/cuda
darauf hingewiesen/usr/local/cuda-10.1
, also war (und bleibt) es mir ein Rätsel, warum TF es ansah/usr/local/cuda-10.0
.Wie auch immer, ich bin gerade umgezogen
/usr/local/cuda-10.0
,/usr/local/old-cuda-10.0
damit TF es nicht mehr finden konnte und alles dann wie ein Zauber funktionierte.Es war alles sehr frustrierend und ich habe immer noch das Gefühl, dass ich nur einen zufälligen Hack gemacht habe. Aber es hat funktioniert :) und vielleicht hilft dies jemandem mit einem ähnlichen Problem.
quelle