Мои извинения за то, что я так долго возвращался сюда, чтобы ответить на вопрос, даже после того, как нашел способ сделать это.
Действительно возможно ограничить использование графического процессора с помощью tenorflow per_process_gpu_memory_fraction
.[Поэтому я отредактировал вопрос]
Следующий фрагмент выделяет 46% памяти GPU для пользователя.
init = tf.global_variables_initializer()
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.46)
with tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) as sess:
sess.run(init)
############
#Training happens here#
############
В настоящее время у нас есть 2 пользователя, использующих один и тот же графический процессор одновременно без каких-либо проблем.Мы выделили 46% на каждого.Убедитесь, что вы не набрали 50-50% (прервано, если вы это сделаете, произойдет ошибка дампа ядра).Старайтесь хранить около 300 МБ памяти в режиме ожидания.
И на самом деле, это подразделение GPU не замедляет процесс обучения.Удивительно, но он предлагает примерно такую же скорость, как если бы использовалась полная память, по крайней мере, согласно нашему опыту.Хотя, это может измениться с данными большого размера.