Я работаю в среде, в которой вычислительные ресурсы являются общими, т. е. у нас есть несколько серверных компьютеров, каждый из которых оснащен несколькими графическими процессорами Nvidia Titan X.
Для моделей малого и среднего размера 12 ГБ Titan X обычно достаточно для одновременного обучения 2–3 человек на одном графическом процессоре. Если модели настолько малы, что одна модель не может в полной мере использовать все преимущества всех вычислительных блоков графического процессора, это может фактически привести к ускорению по сравнению с запуском одного процесса обучения за другим. Даже в тех случаях, когда одновременный доступ к графическому процессору действительно замедляет время индивидуального обучения, все равно приятно иметь возможность одновременного обучения нескольких пользователей на графическом процессоре.
Проблема TensorFlow заключается в том, что по умолчанию он выделяет полный объем доступной памяти графического процессора при запуске. Даже для небольшой двухслойной нейронной сети я вижу, что все 12 ГБ памяти графического процессора израсходованы.
Есть ли способ заставить TensorFlow выделять только, скажем, 4 ГБ памяти графического процессора, если известно, что этого достаточно для данной модели?
Подробнее здесь: https://stackoverflow.com/questions/341 ... gpu-memory