-1

在 pytorch 中,我想在每个 epoch 中保存输出以供后期计算。但它会在几个 epoch 后导致 OUT OF MEMORY ERROR。代码如下:

    L=[]
    optimizer.zero_grad()
    for i, (input, target) in enumerate(train_loader):
        output = model(input)
        L.append(output)
    *** updata my model to minimize a loss function. List L will be used here. 

我知道原因是因为 pytorch 保存了每个时期的所有计算图。但是损失函数只有在得到所有预测结果后才能计算

有没有办法训练我的模型?

4

1 回答 1

0

你在 GPU 上训练吗?

如果是这样,你可以像这样移动它的主内存

    L.append(output.detach().cpu())
于 2020-09-17T14:16:29.977 回答