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é.
Oui, vous pouvez exécuter des modèles keras sur GPU. Peu de choses que vous devrez vérifier en premier.
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.
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.
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"