Некоторые шаги были убиты OOM. Как этого избежать?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Некоторые шаги были убиты OOM. Как этого избежать?

Сообщение Anonymous »

Я выполняю классификацию изображений в pytorch и использую набор инструментов состязательной устойчивости (https://adversarial-robustness-toolbox. ... index.html). Эта структура хочет, чтобы я передал весь свой набор данных в качестве параметров функции-оболочке. Но загрузка всего набора данных приводит к ошибкам OOM, поскольку я использую набор данных ImageNet 2012 в качестве обучающих данных, размер которого составляет 155 ГБ, но у меня есть только 28 ГБ памяти.
Моя идея заключалась в том, чтобы не использовать весь набор данных.
Моя идея заключалась в том, чтобы не использовать весь набор данных. набор данных сразу, но используйте цикл for, и каждый экземпляр цикла for загружает часть набора данных и передает ее оболочке. Однако даже после загрузки только 1/200 данных за раз в массив, который я передаю оболочке, в конечном итоге у меня заканчивается память.

Код: Выделить всё

for a in range((len(filelist)//MEMORYLIMITER)+1):
print('Imagenet segement loaded: ' +str(a))
if ((a+1)*MEMORYLIMITER-1
[code]del x_train
gc.collect()
после передачи его в оболочку, но мне все равно не хватает памяти.

Подробнее здесь: https://stackoverflow.com/questions/791 ... avoid-this
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»