Могу ли я запустить модель Keras на gpu?

Я запускаю модель Keras с крайним сроком подачи 36 часов, если я тренирую свою модель на процессоре, это займет около 50 часов, есть ли способ запустить Keras на gpu?

Я использую бэкэнс Tensorflow и запускаю его на своем ноутбуке Jupyter без установки anaconda.

Ответ 1

Да, вы можете запускать модели Keras на GPU. Несколько вещей, которые вы должны будете проверить в первую очередь.

  1. ваша система имеет графический процессор (Nvidia. Поскольку AMD еще не работает)
  2. Вы установили версию GPU tenorflow
  3. Вы установили инструкции по установке CUDA
  4. Убедитесь, что тензор потока работает с GPU, проверьте, работает ли GPU

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

ИЛИ ЖЕ

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

вывод будет примерно таким:

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

Как только все это будет сделано, ваша модель будет работать на GPU:

Чтобы проверить, использует ли keras (> = 2.1.1) графический процессор:

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

Всего наилучшего.

Ответ 2

Конечно. Я полагаю, что вы уже установили TensorFlow для GPU.

Вам необходимо добавить следующий блок после импорта керас. Я работаю на машине, которая имеет 56 основных процессоров и 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)

Конечно, это использование налагает максимальные ограничения на мои машины. Вы можете уменьшить значения потребления процессора и графического процессора.

Ответ 3

Конечно. если вы работаете в бэкэндах Tensorflow или CNTk, ваш код будет по умолчанию работать на ваших устройствах с графическим процессором. Но если бэкэнды Theano, вы можете использовать следующие

Theano flags:

"THEANO_FLAGS=device=gpu,floatX=float32 python my_keras_script.py"