Дамп памяти графического процессора в CNTK Artistic Styling Transfer

Я просматриваю руководство по переносу художественного стиля в CNTK. Я могу просмотреть одно изображение, а затем перезапустить ноутбук Jupyter, чтобы избежать нехватки памяти графического процессора для стилизации дополнительного изображения. Код ошибки - удар. Я хотел бы просто поместить последние 2 блока кодов в цикл for, который читает папку с изображениями и создает новое стилизованное изображение для каждого изображения. Думаю, мне нужно сделать дамп памяти графического процессора. Если это правильно, то как мне это сделать?

RuntimeError: CUDA failure 2: out of memory ; GPU=0 ; hostname=JOHN ;     expr=cudaMalloc((void**) &deviceBufferPtr, sizeof(AllocatedElemType) * numElements)

person user18101    schedule 17.02.2017    source источник


Ответы (2)


Перед обработкой второго изображения не могли бы вы попробовать вызвать del content_activations del loss import gc gc.collect() . Это объекты, которые в любом случае нужно будет переопределить, и таким образом вы очистите их (следовательно, освободив память графического процессора) до того, как будут построены следующие content_activations и loss.

person Nikos Karampatziakis    schedule 17.02.2017
comment
Я использовал этот метод, и он сделал это для первых двух изображений, но с ошибкой на третьем. Я не уверен, что это работает лучше из-за удаления этих переменных или я использую свой рабочий стол с 12 ГБ видеопамяти вместо 4 ГБ. В любом случае это не сбрасывает vram. Я хотел бы иметь возможность создавать около 500 выводов. - person user18101; 18.02.2017
comment
Я могу проверить это на своем графическом процессоре (также 12 ГБ видеопамяти), за исключением того, что это происходит после дюжины или около того изображений. Будем работать над исправлением. - person Nikos Karampatziakis; 18.02.2017
comment
Это было исправлено в последнем мастере. В следующий выпуск (2.0 beta 12), запланированный на 22 февраля 2017 г., будут внесены эти изменения. Я смог выполнить 100 итераций, не превысив 1,5 ГБ видеопамяти. В моем тестовом случае у меня есть операторы del и вызов сборщика мусора, как в (обновленном) ответе. Хотя я не уверен, что они необходимы. - person Nikos Karampatziakis; 21.02.2017

можно ли использовать другие фреймворки кроме CNTK? Вы можете просто обучить свои собственные модели передаче стилей в качестве сервисного сайта, такого как http://somatic.io.

person jas    schedule 20.02.2017
comment
Неактуальный ответ. - person Rajarshee Mitra; 14.08.2017