PyTorch `torch.no_grad` vs `torch.inference_mode`



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更可取。检查在这里。

最新更新