¿Puedo ejecutar Keras model en gpu?


Estoy ejecutando un modelo de Keras, con un plazo de presentación de 36 horas, si entreno mi modelo en la cpu tomará aproximadamente 50 horas, ¿hay alguna manera de ejecutar Keras en la gpu?

Estoy usando Tensorflow backend y ejecutándolo en mi Jupyter notebook, sin anaconda instalado.

Author: halfer, 2017-08-13

2 answers

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

  1. su sistema tiene GPU (Nvidia. Como AMD no funciona todavía)
  2. Ha instalado la versión GPU de tensorflow
  3. Ha instalado CUDA instrucciones de instalación
  4. Compruebe que tensorflow se está ejecutando con GPU compruebe 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 Comprobar si keras (>=2.1.1) está usando GPU:

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

Todo lo mejor.

 39
Author: Vikash Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-14 06:46:15

Claro. Supongo que ya ha instalado TensorFlow para GPU.

Necesita agregar el siguiente bloque después de importar keras. Estoy trabajando en una máquina que tiene cpu de 56 núcleos y una 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 los límites máximos de mis máquinas. Puede disminuir los valores de consumo de cpu y gpu.

 4
Author: johncasey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-26 11:09:45