PyTorch有新的功能torch.inference_mode
作为v1.9,这是"类似于torch.no_grad
…在此模式下运行的代码通过禁用视图跟踪和版本计数器颠簸获得更好的性能。">
如果我只是在测试时评估我的模型(即不训练),是否存在torch.no_grad
优于torch.inference_mode
的情况?我计划用后者替换前者的每个实例,并且我希望使用运行时错误作为护栏(即,我相信任何问题都会显示为运行时错误,如果它没有显示为运行时错误,那么我认为使用torch.inference_mode
确实是可取的)。
关于开发推理模式的更多细节,请参见PyTorch Developer Podcast。
是的,在推理模式不会抛出运行时错误的所有情况下,torch.inference_mode
确实比torch.no_grad
更可取。检查在这里。