model_object = My_Network().cuda()
del model_object #deleting the model
# model will still be on cache until its place is taken by other objects so also execute the below lines
import gc # garbage collect library
gc.collect()
torch.cuda.empty_cache()
2条答案
按热度按时间n7taea2i1#
在PyTorch中释放内存就像使用普通的Python垃圾收集器一样。这意味着一旦所有对 Python-Object 的引用都消失了,它就会被删除。
可以使用
del
运算符删除引用:字符串
你必须确保没有对相应对象的引用,否则内存不会被释放。
因此,一旦删除了
model
的所有引用,就应该删除它并释放内存。如果你想了解更多关于内存管理的知识,你可以在这里看看:https://pytorch.org/docs/stable/notes/cuda.html#cuda-memory-management
4smxwvx52#
我更喜欢按照下面的步骤,而不是只做
del model_object
字符串