pytorch GPU显存释放的问题?

最近在使用pytorch进行深度学习的训练,我每隔N个epoch进行一次验证集的测试,验证集的计算也是在GPU中的,计算完后没有loss进行回传,请问…
关注者
70
被浏览
170,153

5 个回答

每次验证完加上这句

torch.cuda.empty_cache()


如果训练完没有足够的显存用来验证,也可以加这句;


验证的时候旧版本torch用input_var = torch.autograd.Variable(input, volatile=True),0.4.0之后用

with torch.no_grad():

input_var = torch.autograd.Variable(input)

target_var = torch.autograd.Variable(target)

output = model(input_var)

loss = criterion(output, target_var)

及时 del some_of_your_Used_Tensors ,
不行才劳烦 torch.cuda.empty_cache()


nvim丝滑py优雅:out of memory | 多用del 某张量, 偶尔用torch.cuda.empty_cache()