Кажется, что он использует gpu автоматически, но я не знаю, почему.
Сначала я объявил, как показано ниже
tf_config = tf.ConfigProto( allow_soft_placement=True )
tf_config.gpu_options.allow_growth = True
sess = tf.Session(config=tf_config)
keras.backend.set_session(sess)
Затем я определил некоторую модель, как показано ниже
with K.tf.device('/gpu:0'):
some keras model
Очевидно, что он будет использовать графический процессор, и я проверил, что он использует первый графический процессор (с индексом 0), как я и ожидал.
Но затем я удалил строку
with K.tf.device('/gpu:0'):
и переименовал все модели керас.Я запустил код, все еще похоже на использование первого gpu (с индексом 0).
В моем Ubuntu я использовал команду nvidia-smi, чтобы проверить использование памяти gpu, и я посмотрел на диспетчер процессов в моих окнах,
Они оба используют память GPU и ее использование.
Насколько я помню, tenorflow не использует gpu, если я не щадю их в своей модели.Но с Keras кажется, что он использует gpu автоматически ... это потому, что я запустил код
tf_config = tf.ConfigProto( allow_soft_placement=True )
tf_config.gpu_options.allow_growth = True
sess = tf.Session(config=tf_config)
keras.backend.set_session(sess)
или есть какая-то другая причина, по которой я скучаю?