我在使用pytorch1.8.1训练模型时,模型的内存大小忽大忽小,导致频繁报out of memory。内存这么大这么小一般是什么原因?
我尝试使用torch.cuda.empty_cache(),但仍然有这个问题。
cuda 会 malloc 内存并在训练期间释放它。
使用较小的batch_size可以解决问题,并且你应该检查cuda中torch.tensor的使用,避免使用大的tensor,或者使用后删除大的torch.tensor.cuda。