¿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.
2 answers
Sí, puede ejecutar modelos keras en GPU. Pocas cosas tendrá que comprobar primero.
- su sistema tiene GPU (Nvidia. Como AMD no funciona todavía)
- Ha instalado la versión GPU de tensorflow
- Ha instalado CUDA instrucciones de instalación
- 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.
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.
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