Керас - Можно ли тренировать две несвязанные модели одновременно с одним графическим процессором? - PullRequest
0 голосов
/ 03 ноября 2019

С PyCharm вы можете иметь несколько экземпляров Python, запускающих один и тот же файл, поэтому мне было любопытно, есть ли способ обучать одну и ту же модель (или разные модели) дважды, одновременно в двух разных экземплярах.

Я думаю, что было бы полезно иметь возможность нажать Shift + F10 по файлу, чтобы начать тренировку, выполнить настройку гиперпараметра и снова нажать Shift + F10, чтобы начать еще один совершенно отдельный пример тренировки и сравнить, как они оба тренируются нато же время. Однако, если кто-то уже тренируется, второй выдает эту ошибку, когда вызывается метод fit:

2019-11-03 01:11:19.049817: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_100.dll
2019-11-03 01:11:19.243782: E tensorflow/stream_executor/cuda/cuda_blas.cc:238] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED

Я предполагаю, что у CUDA есть проблема с тем, что он вызывается дважды одновременно или что-то подобное. Так есть ли обходной путь для обучения двух моделей на одном GPU одновременно? Или это более осуществимо на процессоре?

1 Ответ

1 голос
/ 03 ноября 2019

Вероятно, это

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3  # set 0.3 to what you want
set_session(tf.Session(config=config))

Обратите внимание: если вы тренируете модель, подобную CNN, она, скорее всего, будет использовать 100% графического процессора, что, вероятно, не быстрее, чем ожидание завершения первой модели, прежде чем обучать другую. модель. Также будет уменьшен возможный размер партии, это может немного повлиять на точность

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...