#python #pytorch #google-colaboratory
#python #pytorch #google-colaboratory
Вопрос:
Когда я запускаю некоторые модели DL, написанные с помощью PyTorch, у меня возникает ошибка:
Ошибка времени выполнения: CUDA не хватает памяти. Пытался выделить 108,00 Мбайт (GPU 0; общая емкость 14,73 гигабайт; 13,68 гигабайт уже выделено; 11,88 Мбайт свободно; 13,78 Гигабайт зарезервировано PyTorch).
Это произошло, когда я пытаюсь отследить некоторые ошибки и запускать cell снова и снова. Есть ли какие-то лайфхаки, чтобы избежать этого?
Вот пример кода (я выделил ячейки в Google colab):
def train(...):
...
assert False
...
model = SegNet().to(device)
max_epochs = 20
optim = torch.optim.Adam(model.parameters(), lr=10e-5)
train(model, optim, bce_loss, max_epochs, data_tr, data_val)
Я нашел operator del
, чтобы я мог сделать
del model
после использования model
. Но как я могу управлять памятью, используя после ручной или какой-либо ошибки assert
?
Комментарии:
1. Вы не предоставили никакой информации или кода. Поэтому единственный совет — использовать меньше оперативной памяти процессора.
2. @KlausD. Я думаю, вы имели в виду «GPU RAM»?
Ответ №1:
Оператор del X_batch
сразу после y_pred = model(X_batch...)
этого мне немного помогает. Функция .backward()
использует самую большую кучу оперативной памяти, но я ничего не могу с этим поделать. Я полагаю, что colab.google не имеет отношения к использованию оперативной памяти.