Est-ce que je peux utiliser le modèle Keras sur gpu?

je dirige un modèle Keras, avec un délai de soumission de 36 heures, si je forme mon modèle sur le cpu il faudra environ 50 heures, est-ce qu'il y a un moyen de faire tourner Keras sur gpu?

j'utilise Tensorflow backend et je l'exécute sur mon carnet Jupyter, sans anaconda installée.

25
demandé sur halfer 2017-08-13 18:58:58

2 réponses

Oui, vous pouvez exécuter des modèles keras sur GPU. Vous devrez d'abord vérifier certaines choses.

  1. votre système a GPU (NVIDIA. Comme AMD ne fonctionne pas encore)
  2. vous avez installé la version GPU de tensorflow
  3. vous avez installé CUDA instructions d'installation
  4. Vérifier que tensorflow est en cours d'exécution avec GPU vérifier si le GPU est de travail

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

ou

from tensorflow.python.client import device_lib

print(device_lib.list_local_devices())

sortie sera quelque chose comme ceci:

[
  name: "/cpu:0"device_type: "CPU",
  name: "/gpu:0"device_type: "GPU"
]

une fois tout cela fait, votre modèle s'exécute sur GPU:

pour vérifier si keras (>=2.1.1) utilise GPU:

from keras import backend as K
K.tensorflow_backend._get_available_gpus()

bonne chance.

39
répondu Vikash Singh 2018-03-14 06:46:15

bien sûr. Je suppose que vous avez déjà installé TensorFlow pour GPU.

vous devez ajouter le bloc suivant après avoir importé des keras. Je travaille sur une machine qui a 56 processeurs et un gpu.

import keras

config = tf.ConfigProto( device_count = {'GPU': 1 , 'CPU': 56} ) 
sess = tf.Session(config=config) 
keras.backend.set_session(sess)

bien sûr, cet usage impose à mes machines des limites maximales. Vous pouvez diminuer les valeurs de consommation cpu et gpu.

4
répondu johncasey 2017-12-26 11:09:45