web-dev-qa-db-fra.com

Puis-je exécuter le modèle Keras sur gpu?

J'utilise un modèle Keras, avec une date limite de soumission de 36 heures. Si j'entraîne mon modèle sur le processeur, cela prend environ 50 heures. Y a-t-il un moyen de lancer Keras sur gpu?

J'utilise le backend Tensorflow et je l'exécute sur mon ordinateur portable Jupyter sans qu'Anaconda ne soit installé.

81
Ryan

Oui, vous pouvez exécuter des modèles keras sur GPU. Peu de choses que vous devrez vérifier en premier.

  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 fonctionne avec le GPU vérifier si le GPU fonctionne

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

OR

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

la sortie sera quelque chose comme ceci:

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

Une fois que tout cela est fait, votre modèle fonctionnera sur le GPU:

Pour vérifier si keras (> = 2.1.1) utilise le processeur graphique:

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

Bonne chance.

126
Vikash Singh

Sûr. Je suppose que vous avez déjà installé TensorFlow for GPU.

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

import keras
import tensorflow as tf


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

Bien entendu, cette utilisation impose des limites maximales à mes machines. Vous pouvez diminuer les valeurs de consommation des processeurs et des processeurs.

13
johncasey

Bien sûr. Si vous utilisez des backends Tensorflow ou CNTk, votre code s’exécutera par défaut sur vos périphériques GPU. Mais si Theano backends, vous pouvez utiliser ce qui suit

Drapeaux Theano:

"THEANO_FLAGS = device = gpu, floatX = float32 python my_keras_script.py"

0
Kevin Jarvis