-Setup zu verwenden:Wie Keras mit Theano ermöglichen mehrere GPUs
- Mit einem Amazon Linux-System mit einer Nvidia GPU
- Ich verwende Keras 1.0.1
- Lauf Theano v0.8.2 Backend
- mit CUDA und CuDNN
- THEANO_FLAGS = "device = GPU, floatX = float32, lib.cnmem = 1"
Alles funktioniert gut, aber ich habe bei großen Modellen keinen Videospeicher mehr, wenn ich die Stapelgröße vergrößere, um das Training zu beschleunigen. Ich Figur zu einem 4-GPU-System in der Theorie bewegt entweder Speicher insgesamt oder ermöglichen kleinere Chargen verbessern würde schneller zu bauen, aber die die nvidia Statistiken beobachtet, kann ich sehen, nur eine GPU standardmäßig verwendet wird:
+------------------------------------------------------+
| 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 GRID K520 Off | 0000:00:03.0 Off | N/A |
| N/A 44C P0 45W/125W | 3954MiB/4095MiB | 94% Default |
+-------------------------------+----------------------+----------------------+
| 1 GRID K520 Off | 0000:00:04.0 Off | N/A |
| N/A 28C P8 17W/125W | 11MiB/4095MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 2 GRID K520 Off | 0000:00:05.0 Off | N/A |
| N/A 32C P8 17W/125W | 11MiB/4095MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 3 GRID K520 Off | 0000:00:06.0 Off | N/A |
| N/A 29C P8 17W/125W | 11MiB/4095MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 9862 C python34 3941MiB |
I Mit rohen Theano können Sie manuell mehrere GPUs explizit verwenden. Unterstützt Keras die Verwendung mehrerer GPUs? Wenn ja, abstrahiert es oder müssen Sie die GPUs den Geräten zuordnen, wie in Theano, und explizit Berechnungen mit bestimmten GPUs durchführen?
Haben Sie im Laufe des letzten Jahres etwas davon gehört? Ich weiß, dass Tensorflow wie erwartet in Theanos Basis frisst, also bin ich flexibel mit beiden Backend. – Ray
@Ray: Ich bin mir nicht sicher auf Theano Ende, aber ich würde definitiv empfehlen, zu Tensorflow für diese, wenn Sie die Option haben. –