GPU OOM при обучении ResNet, но есть запасные графические процессоры

Resnet34, который я тренирую с пакетным szie 256, вызовет OOM. Но машина, которую я использую, имеет 8 графических процессоров Titan с 12 ГБ памяти графического процессора соответственно, я заметил, что на момент OOM все еще остается 7 запасных графических процессоров.

Мне интересно, почему это могло произойти. Разве тензорный поток не может использовать другие параллельные графические процессоры, когда первому графическому процессору не хватает памяти? Как это решить?

…………………………………… обновление ………………………………… на самом деле я установил работоспособность всех графических процессоров, написав "os.environment" , что еще я пропустил или там что-то не так?


person 陈绍伍    schedule 15.06.2020    source источник
comment
Для этого вам нужно явно написать код tf GPU, он не будет напрямую.   -  person talos1904    schedule 15.06.2020


Ответы (1)


1. Это произошло, потому что размер пакета = 256 слишком велик для загрузки в графический процессор с 12 ГБ (в этом случае 14 ГБ может быть достаточно).

Единственный способ - уменьшить batch_number.

  1. - Почему для решения этой проблемы не можетtensorflow использовать память параллельных графических процессоров? - Я не нахожу никаких указаний на то, что тензорный поток поддерживает это. И я пытался использовать «with tf.device ()», чтобы установить разные переменные для разных графических процессоров, но это не помогает. Потому что независимо от того, как я их распределяю, после загрузки данных первый уровень, принимающий данные, сделает графический процессор, где эта переменная существует, OOM.

  2. наконец, мое решение - сократить 256 до 128.

  3. PS: В этот период я ​​пытался установить sess.run([train_imges, train_labels]) запуск в CPU. Но, как я уже говорил в разделе 2, это не поможет. Кроме того, я обнаружил, что этот параметр замедлит скорость обучения, потому что пиковая загрузка графических процессоров падает с 99% до 90%, а время непиковой нагрузки при этом увеличивается.

person 陈绍伍    schedule 16.06.2020