16

我想在我的项目中基于 Pytorch 进行交叉验证。而且我没有找到pytorch提供的删除当前模型并清空GPU内存的任何方法。你能告诉我该怎么做吗?

4

1 回答 1

12

在 PyTorch 中释放内存的工作方式与普通 Python 垃圾收集器一样。这意味着一旦对Python-Object的所有引用都消失了,它将被删除。

您可以使用运算符删除引用del

del model

您必须确保没有对相应对象的引用,否则不会释放内存。

所以一旦你删除了你的所有引用model,它应该被删除并释放内存。

如果您想了解有关内存管理的更多信息,可以在这里查看: https ://pytorch.org/docs/stable/notes/cuda.html#cuda-memory-management

于 2018-11-17T16:32:31.443 回答