Setup:Comment activer Keras avec Théano d'utiliser plusieurs processeurs graphiques
- L'utilisation d'un système Linux Amazon avec un GPU Nvidia
- J'utilise Keras 1.0.1
- Exécution Théano backend v0.8.2
- Utilisation CUDA et CuDNN
- THEANO_FLAGS = "device = GPU, floatX = float32, lib.cnmem = 1"
Tout fonctionne bien, mais je n'ai plus de mémoire vidéo sur les grands modèles lorsque j'augmente la taille du lot pour accélérer l'entraînement. Je me dis que passer à un système 4 GPU serait en théorie soit améliorer la mémoire totale disponible ou permettre aux petits lots de construire plus rapidement, mais en observant les stats nvidia, je peux voir un seul GPU est utilisé par défaut:
+------------------------------------------------------+
| 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 savoir avec Theano brut, vous pouvez utiliser manuellement plusieurs GPU explicitement. Est-ce que Keras prend en charge l'utilisation de plusieurs GPU? Si oui, le résume-t-il ou avez-vous besoin de mapper les GPU à des dispositifs comme dans Theano et de faire explicitement appel à des GPU spécifiques?
Avez-vous entendu des progrès dans ce domaine au cours de la dernière année? Je sais que Tensorflow comme prévu est en train de manger dans la base de Theano, donc je suis flexible avec l'un ou l'autre backend. – Ray
@Ray: Je ne suis pas sûr du côté de Theano, mais je vous recommande de passer à Tensorflow si vous avez l'option. –