最近使用GPU训练一个用PyTorch写的神经网络模型,网络比较深,有100层左右,训练部分的时候没什么问题,然而开始测试/验证环节的时候,虽然我用了torch.cuda.empty_cache()
,但是竟然直接报错:
RuntimeError: CUDA out of memory
上StackOverFlow搜了一下,搜到了相关的问题:
How to fix this strange error: “RuntimeError: CUDA error: out of memory”
解决问题的方法就是,开始测试的时候加上with torch.no_grad():
;并且,在测试部分loss相加的时候使用loss.item()