4

Dies steht in Zusammenhang mit How to enable Keras with Theano to utilize multiple GPUs, aber anstatt mehrere GPUs zu verwenden, möchte ich angeben, auf welcher GPU das spezifische Modell trainiert oder ausgeführt wird.Wie kann man andere Grafikprozessoren in Keras mit einem TensorFlow-Backend verwenden?

Meine nvidia-smi Ausgabe sieht wie folgt aus:

+------------------------------------------------------+      
| NVIDIA-SMI 361.42  Driver Version: 361.42   |      
|-------------------------------+----------------------+----------------------+ 
| GPU Name  Persistence-M| Bus-Id  Disp.A | Volatile Uncorr. ECC | 
| Fan Temp Perf Pwr:Usage/Cap|   Memory-Usage | GPU-Util Compute M. | 
|===============================+======================+======================| 
| 0 Tesla K80   Off | 0000:03:00.0  Off |     0 | 
| N/A 38C P0 60W/149W | 11354MiB/11519MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 
| 1 Tesla K80   Off | 0000:04:00.0  Off |     0 | 
| N/A 37C P0 71W/149W | 224MiB/11519MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 
| 2 GeForce GTX 750 Ti Off | 0000:06:00.0  On |     N/A | 
| 40% 29C P8  1W/38W | 120MiB/2047MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 

Dieser Ausgang natürlich ist, wenn nichts läuft. Das Problem ist, dass ich in Keras nicht sicher bin, wie man spezifiziert, auf welcher GPU er läuft. Natürlich können wir mit TensorFlow nur das Paradigma with tf.device('/cpu:1'): machen, aber ich bin mir nicht sicher, wie das mit Keras integriert werden würde.

Danke!

+0

FYI, die FAQ hier hat nicht gesagt, ob diese Fähigkeit Keras API für den Tensorflow-Fall ausgesetzt ist (obwohl es eine Methode für das Theano-Backend bietet). https://keras.io/getting-started/faq/#how-can-i-run-keras-on-gpu –

Antwort

4

Zusätzlich tensorflow in Ihrer keras.json Datei als Backend angeben, können Sie die Anzahl der GPUs begrenzen und/oder eine bestimmte GPU verwenden mit die Umgebungsvariable CUDA_VISIBLE_DEVICES (http://acceleware.com/blog/cudavisibledevices-masking-gpus). Hier können Sie angeben, welche GPU verwendet werden soll.

0

grundsätzlich zwei Schritte, müssen Sie wie folgt vor:

  1. tensorflow Version installieren, die GPU aktivieren ist. Siehe hierzu https://www.tensorflow.org/versions/r0.7/get_started/os_setup.html

  2. Keras verwendet Theano standardmäßig als Backend. Sie müssen es ändern

vi ~/.keras/keras.json

Dateiinhalt tensorflow: { "Epsilon": 1e-07 "floatx": "float32", "Back-End": "Theanos"}

ändern "Theano" zu "Tensorflow"

Die Sache ist, dass Sie nur installieren müssen gpu aktiviert Tensorflow-Version. Es wird automatisch Ihre konfigurierte GPU verwenden.

Siehe diesen Link für Installation von CUDA und tensorflow http://www.nvidia.com/object/gpu-accelerated-applications-tensorflow-installation.html

Verwandte Themen