Memory 在pytorch中,当程序仍在运行时,如何释放所有gpu内存? 导入时间 从torchvision.models导入resnet18 导入GPUtil AAA级: def加载(自): 设备=火炬。设备('cuda:0') self.dummy_tensor_4=torch.randn(120,35512,512).float()到(设备)#120*3*512*512*4/1000/1000=377.48M self.dummy_tensor_5=torch.randn(10,35512,512).float()到(设备)#80*3*512*512*4/1000/1000=251.64M self.model=resnet18(pretrained=True).to(设备) self.X=self.model(self.dummy\u张量\u 5) 时间。睡眠(5) def释放(自): del self.dummy\u tensor\u 4 del self.dummy\u tensor\u 5 del self.model del self.X torch.cuda.empty_cache() A=AAA() A.加载() A.释放() 德拉 torch.cuda.empty_cache() 打印(“开始等待”) 对于范围(30)内的i: GPUtil.showUtilization() 时间。睡眠(1)

Memory 在pytorch中,当程序仍在运行时,如何释放所有gpu内存? 导入时间 从torchvision.models导入resnet18 导入GPUtil AAA级: def加载(自): 设备=火炬。设备('cuda:0') self.dummy_tensor_4=torch.randn(120,35512,512).float()到(设备)#120*3*512*512*4/1000/1000=377.48M self.dummy_tensor_5=torch.randn(10,35512,512).float()到(设备)#80*3*512*512*4/1000/1000=251.64M self.model=resnet18(pretrained=True).to(设备) self.X=self.model(self.dummy\u张量\u 5) 时间。睡眠(5) def释放(自): del self.dummy\u tensor\u 4 del self.dummy\u tensor\u 5 del self.model del self.X torch.cuda.empty_cache() A=AAA() A.加载() A.释放() 德拉 torch.cuda.empty_cache() 打印(“开始等待”) 对于范围(30)内的i: GPUtil.showUtilization() 时间。睡眠(1),memory,pytorch,gpu,Memory,Pytorch,Gpu,这是我的密码。 如果我使用“self.X=self.model(self.dummy\u tensor\u 5)”,我的gpu内存无法释放。我是否缺少要删除的内容? 如果我不使用“self.X=self.model(self.dummy\u tensor\u 5)”,gpu内存释放就完美了。你似乎在说使用“self.X=self.model(self.dummy\u tensor\u 5)”可以防止内存释放,也可以工作-你的问题中有输入错误吗?谢谢!我有打字错误,我已经改正了

这是我的密码。 如果我使用“self.X=self.model(self.dummy\u tensor\u 5)”,我的gpu内存无法释放。我是否缺少要删除的内容?
如果我不使用“self.X=self.model(self.dummy\u tensor\u 5)”,gpu内存释放就完美了。

你似乎在说使用“self.X=self.model(self.dummy\u tensor\u 5)”可以防止内存释放,也可以工作-你的问题中有输入错误吗?谢谢!我有打字错误,我已经改正了