Я тренирую модель VAE на процессоре, она хорошо работает в течение 1 эпохи, так как мне нужно больше тренироваться, чтобы получить хороший результат с использованием графического процессора, я пробовал тренироваться на графическом процессоре, но у него не хватает памяти. Поскольку процессор занимает 25,375 ГБ Память. Как очищается память GPU составляет 12 ГБ, она будет выбрасывать из памяти. Итак, теперь я переместил код в более крупные экземпляры, имеющие 8 ГП (12 * 8 ГБ) памяти. Так, соответственно, проблема Недостаточно памяти должно быть решено, вместо этого копируется вся занятая память с 1 GPU на все 8 графических процессоров. Так что использование Multiple GPU бесполезно.
Я нашел общий объем памяти для завершения всего обучения, который составляет 25,375 ГБ.
Итак, использование одного графического процессора объемом 12 ГБ приведет к потере памяти. Теперь я использую 8 графических процессоров из каждых 12 ГБ для решения этой проблемы.
GPU: K80
Chainer: 6.0.0
Cupy: 6,0,0
avg_elbo_loss.to_gpu()
Код выше занимает около 8 ГБ памяти из 12 ГБ.
Есть ли способ уменьшить или записать, чтобы оно уменьшилось?
Я попытался найти несколько GPU для решения этой проблемы.
num_gpus =8
if num_gpus > 0:
updater = training.updater.ParallelUpdater(
train_iter,
optimizer,
devices={('main' if device == 0 else str(device)): device for
device in range(num_gpus)},
)
else:
updater = training.updater.StandardUpdater(train_iter, optimizer,
device=args.gpus)
Выход ожидается при использовании одного графического процессора.