从v1.9开始,PyTorch有了新的功能torch.inference_mode
,即"analogous to torch.no_grad
……在这种模式下运行的代码可以通过禁用视图跟踪和版本计数来获得更好的性能。“
如果我只是在测试时评估我的模型(即不是训练),是否有任何情况下torch.no_grad
比torch.inference_mode
更可取?我计划将前者的每个实例替换为后者,并且我希望使用运行时错误作为屏障(即,我相信任何问题都会暴露为运行时错误,如果它不是运行时错误,那么我认为使用torch.inference_mode
确实更可取)。
the PyTorch Developer Podcast中提到了更多关于为什么开发推理模式的详细信息。
发布于 2021-10-13 16:54:09
是的,在推理模式不抛出运行时错误的所有情况下,torch.inference_mode
都是indeed preferable to torch.no_grad
。
https://stackoverflow.com/questions/69543907
复制相似问题