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 el backend de Tensorflow y ejecutándolo en mi computadora portátil Jupyter, sin anaconda instalada.
python
tensorflow
keras
jupyter
Ryan
fuente
fuente
Respuestas:
Sí, puedes ejecutar modelos de keras en GPU. Pocas cosas tendrás que comprobar primero.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
O
la salida será algo como esto:
Una vez hecho todo esto, su modelo se ejecutará en GPU:
Para verificar si keras (> = 2.1.1) está usando GPU:
Todo lo mejor.
fuente
Could not find any downloads that satisfy the requirement tensorflow in /usr/local/lib/python2.7/dist-packages Downloading/unpacking tensorflow Cleaning up... No distributions at all found for tensorflow in /usr/local/lib/python2.7/dist-packages Storing debug log for failure in /home/hyperworks/.pip/pip.log
K.tensorflow_backend._get_available_gpus()
no funciona en TensorFlow 2.0.Por supuesto. Supongo que ya ha instalado TensorFlow para GPU.
Debe agregar el siguiente bloque después de importar keras. Estoy trabajando en una máquina que tiene una CPU de 56 núcleos y una gpu.
Por supuesto, este uso impone los límites máximos de mis máquinas. Puede disminuir los valores de consumo de cpu y gpu.
fuente
module 'tensorflow' has no attribute 'ConfigProto'
2.0 Respuesta compatible : Si bien la respuesta mencionada anteriormente explica en detalle cómo usar GPU en el modelo Keras, quiero explicar cómo se puede hacer
Tensorflow Version 2.0
.Para saber cuántas GPU están disponibles, podemos usar el siguiente código:
Para saber a qué dispositivos están asignados sus operaciones y tensores, colóquelo
tf.debugging.set_log_device_placement(True)
como la primera declaración de su programa.Al habilitar el registro de ubicación de dispositivos, se imprimen las asignaciones u operaciones de Tensor. Por ejemplo, ejecutando el siguiente código:
da la salida que se muestra a continuación:
Para obtener más información, consulte este enlace.
fuente
Por supuesto. Si está ejecutando en backends de Tensorflow o CNTk, su código se ejecutará en sus dispositivos GPU de forma predeterminada. Pero si los backends de Theano, puede usar lo siguiente
fuente
Vea si su script está ejecutando GPU en el Administrador de tareas. De lo contrario, sospeche que su versión de CUDA es la correcta para la versión de tensorflow que está utilizando, como ya sugirieron las otras respuestas.
Además, se requiere una biblioteca CUDA DNN adecuada para la versión CUDA para ejecutar GPU con tensorflow. Descárguelo / extráigalo de aquí y coloque la DLL (por ejemplo, cudnn64_7.dll) en la carpeta bin de CUDA (por ejemplo, C: \ Archivos de programa \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.1 \ bin).
fuente