¿Puedo ejecutar el modelo Keras en gpu?

Estoy ejecutando un modelo Keras, con una fecha límite de envío de 36 horas, si entreno mi modelo en la CPU, tomará aproximadamente 50 horas, ¿hay alguna forma de ejecutar Keras en gpu?

Estoy usando el backend de Tensorflow y ejecutándolo en mi portátil Jupyter, sin la anaconda instalada.

Sí, puedes ejecutar los modelos keras en GPU. Pocas cosas tendrás que comprobar primero.

  1. su sistema tiene GPU (Nvidia. Como AMD aún no funciona)
  2. Has instalado la versión GPU de tensorflow.
  3. Has instalado las instrucciones de instalación de CUDA.
  4. Verifique que tensorflow se esté ejecutando con GPU. Verifique si la GPU está funcionando.

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

O

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

La salida será algo como esto:

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

Una vez hecho todo esto, su modelo se ejecutará en GPU:

Para verificar si keras (> = 2.1.1) está utilizando GPU:

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

Todo lo mejor.

Por supuesto. Supongo que ya has instalado TensorFlow para GPU.

Necesitas agregar el siguiente bloque después de importar keras. Estoy trabajando en una máquina que tiene 56 cpu de núcleo y un gpu.

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

Por supuesto, este uso impone límites máximos a mis máquinas. Puede disminuir los valores de consumo de cpu y gpu.

conda install -c anaconda keras-gpu

simplemente ejecute el comando anterior y disfrute