Могу ли я запустить модель Keras на gpu?
Я запускаю модель Keras с крайним сроком подачи 36 часов, если я тренирую свою модель на процессоре, это займет около 50 часов, есть ли способ запустить Keras на gpu?
Я использую бэкэнс Tensorflow и запускаю его на своем ноутбуке Jupyter без установки anaconda.
Ответы
Ответ 1
Да, вы можете запускать модели Keras на GPU. Несколько вещей, которые вы должны будете проверить в первую очередь.
- ваша система имеет графический процессор (Nvidia. Поскольку AMD еще не работает)
- Вы установили версию GPU tenorflow
- Вы установили инструкции по установке CUDA
- Убедитесь, что тензор потока работает с 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"