Ich verwende ein Keras-Modell mit einer Einreichungsfrist von 36 Stunden. Wenn ich mein Modell auf der CPU trainiere, dauert es ungefähr 50 Stunden. Gibt es eine Möglichkeit, Keras auf der GPU auszuführen?
Ich verwende das Tensorflow-Backend und führe es auf meinem Jupyter-Notebook aus, ohne dass Anaconda installiert ist.
python
tensorflow
keras
jupyter
Ryan
quelle
quelle
Antworten:
Ja, Sie können Keras-Modelle auf einer GPU ausführen. Einige Dinge, die Sie zuerst überprüfen müssen.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
ODER
Die Ausgabe wird ungefähr so aussehen:
Sobald dies alles erledigt ist, läuft Ihr Modell auf der GPU:
So überprüfen Sie, ob Keras (> = 2.1.1) eine GPU verwendet:
Alles Gute.
quelle
Could not find any downloads that satisfy the requirement tensorflow in /usr/local/lib/python2.7/dist-packages Downloading/unpacking tensorflow Cleaning up... No distributions at all found for tensorflow in /usr/local/lib/python2.7/dist-packages Storing debug log for failure in /home/hyperworks/.pip/pip.log
K.tensorflow_backend._get_available_gpus()
funktioniert nicht in TensorFlow 2.0.Sicher. Ich nehme an, Sie haben TensorFlow für GPU bereits installiert.
Nach dem Importieren von Keras müssen Sie den folgenden Block hinzufügen. Ich arbeite an einer Maschine mit 56 Kern-CPU und einer GPU.
Natürlich erzwingt diese Verwendung die Höchstgrenzen meiner Maschinen. Sie können die CPU- und GPU-Verbrauchswerte verringern.
quelle
module 'tensorflow' has no attribute 'ConfigProto'
2.0 Kompatible Antwort : Während die oben erwähnte Antwort ausführlich erklärt, wie die GPU im Keras-Modell verwendet wird, möchte ich erklären, wie dies getan werden kann
Tensorflow Version 2.0
.Um zu wissen, wie viele GPUs verfügbar sind, können wir den folgenden Code verwenden:
Geben Sie
tf.debugging.set_log_device_placement(True)
als erste Anweisung Ihres Programms an, welchen Geräten Ihre Operationen und Tensoren zugewiesen sind .Durch Aktivieren der Geräteplatzierungsprotokollierung werden alle Tensorzuordnungen oder -vorgänge gedruckt. Führen Sie beispielsweise den folgenden Code aus:
gibt die unten gezeigte Ausgabe an:
Weitere Informationen finden Sie unter diesem Link
quelle
Natürlich. Wenn Sie auf Tensorflow- oder CNTk-Backends ausgeführt werden, wird Ihr Code standardmäßig auf Ihren GPU-Geräten ausgeführt. Bei Theano-Backends können Sie jedoch Folgendes verwenden
quelle
Überprüfen Sie, ob in Ihrem Skript die GPU im Task-Manager ausgeführt wird. Wenn nicht, vermuten Sie, dass Ihre CUDA-Version für die von Ihnen verwendete Tensorflow-Version geeignet ist, wie die anderen bereits vorgeschlagenen Antworten zeigen.
Darüber hinaus ist eine ordnungsgemäße CUDA-DNN-Bibliothek für die CUDA-Version erforderlich, um die GPU mit Tensorflow auszuführen. Laden Sie es von hier herunter / extrahieren Sie es und legen Sie die DLL (z. B. cudnn64_7.dll) im Ordner CUDA bin ab (z. B. C: \ Programme \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.1 \ bin).
quelle