Это может иметь несколько причин. Если вы получите его только после нескольких итераций, возможно, вы не освободите вычислительные графы. Используете ли вы loss.backward(retain_graph=True)
или что-то подобное?
Кроме того, когда вы запускаете логический вывод, обязательно используйте
with torch.no_grad():
model.forward(...)
В противном случае вычислительные графики также сохраняются там и, возможно, никогда освобожден, так как вы никогда не звоните им backward()
.