pytorch在验证和测试时的注意事项
pytorch有时在训练过程中,没有出现CUDA error: out of memory
但是在验证和测试的时候出现CUDA error: out of memory
这是因为在验证和测试时没有设置torch.no_grad():
这样在验证和测试的时候,tensor就会进行对梯度进行保留,并且这个梯度信息会累加,随着时间,模型小号的显存和越来越大,最后out of memory
解决方法:
with torch.no_grad(): forward()
|