Kampis Elektroecke

CUDA Support für Keras nutzen

Gerade wenn große und tiefe neuronale Netze trainiert werden, kann das Training mit der CPU des Rechners mehr oder weniger lange dauern. So kann es schnell passieren, dass ein einzelner Zyklus zwischen 30 Minuten und 1 Stunde lang rechnet und für ein optimales Ergebnis müssen dann auch noch mehrere Zyklen berechnet werden. Dadurch kann das Training eines neuronalen Netzes schon mal ein paar Stunden in Anspruch nehmen und am Ende sind die Parameter vielleicht nicht korrekt und die ganze Prozedur muss wiederholt werden.

Abhilfe schafft hier das GPU basierte Training eines neuronalen Netzes. Je nach Anzahl der GPUs und des Models können so enorme Geschwindigkeitsverbesserungen erzielt werden. Mit Hilfe des GPU basierten Trainings ist z. B. die Trainingszeit eines Zyklus bei einem meiner Projekte von über 30 Minuten auf 66 Sekunden gesunken. Es muss aber beachtet werden, dass der Geschwindigkeitsvorteil beim Training nicht linear mit der Anzahl der GPUs wächst!

Installieren der benötigten Software:

Damit CUDA auf dem Computer genutzt werden kann, muss eine CUDA-fähige Grafikkarte verbaut sein, sprich man ist bei der Wahl der Grafikkarte schon an NVIDIA gebunden. Eine Liste mit unterstützen Grafikkarten ist z. B. hier zu finden.

Als erstes muss das NVIDIA CUDA Toolkit installiert werden. Wenn die aktuelle Version von Keras (bzw. TensorFlow) genutzt werden soll, empfiehlt sich die Installation der Version 9.0 des CUDA Toolkits. Die Unterstüzung neuerer Versionen ist nur experimentel und kann zu Fehlern führen.

Für eine aktuelle Version von CUDA sollten auch die Patches heruntergeladen und installiert werden.

Als nächstes muss die cuDNN library für die entsprechende CUDA Version installiert werden. Hierfür wird ein NVIDIA Developer Account benötigt, der ggf. noch angelegt werden muss. Für die Betriebssysteme Windows 7, 8 und 8.1 wird die Windows 7 Version der Bibliothek genutzt.

Nach dem Download wird die Datei entpackt und die enthaltenen Dateien müssen in die entsprechenden Verzeichnise der CUDA-Installation kopiert werden:

Unter Windows lautet der Default-Pfad für die CUDA-Installation

Als letztes muss die GPU-Variante von TensorFlow installiert werden:

Nach der Installation wird noch eben die korrekte Funktion geprüft:

Es muss nun die folgende Ausgabe erscheinen:

Wenn alles geklappt hat ist die GPU Unterstützung für TensorFlow aktiviert. Keras wird ab sofort beim Training automatisch die GPU Variante bevorzugen und die Modelle auf der GPU trainieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.