Проблема с проводом в pytorch.
У меня есть две потери: loss_1 и loss_2. Для удобства я вычисляю и то, и другое, но только обратную потерю_1. Тогда это ООМ. Однако если я переверну обе потери, Loss_1 и Loss_2, это будет нормально.
for epoch_id in trange(last_epoch + 1, args.n_epochs, desc="Epoch"):
model.train()
for qids, labels, *input_data in tqdm(train_dataloader, desc="Batch"):
optimizer.zero_grad()
bs = labels.size(0)
for a in range(0, bs, args.mini_batch_size):
b = min(a + args.mini_batch_size, bs)
if args.prior_loss:
logits, loss_2, _ = model(*[x[a:b] for x in input_data])
else:
logits, _ = model(*[x[a:b] for x in input_data])
# logits: [bs, nc]
loss = loss / (b - a)
if args.prior_loss and epoch_id>args.prior_loss_epoch:
loss+=loss_2
elif args.prior_loss:
del loss_2
loss.backward()
optimizer.step()
scheduler.step()
Подробнее здесь: https://stackoverflow.com/questions/791 ... in-pytorch
Утечка памяти графического процессора в Pytorch ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Pytorch странным образом выбрасывает ошибку нехватки памяти графического процессора
Anonymous » » в форуме Python - 0 Ответы
- 58 Просмотры
-
Последнее сообщение Anonymous
-