PyTorch `torch.no_grad` 与 `torch.inference_mode`
PyTorch `torch.no_grad` vs `torch.inference_mode`
PyTorch 在 v1.9 中具有新功能 torch.inference_mode
,即“analogous to torch.no_grad
...代码 运行 在此模式下通过禁用视图获得更好的性能跟踪和版本计数器颠簸。"
如果我只是在测试时评估我的模型(即不训练),是否存在 torch.no_grad
优于 torch.inference_mode
的情况?我计划用后者替换前者的每个实例,我希望使用 运行 时间错误作为护栏(即我相信任何问题都会显示为 运行 时间错误,如果它不会作为 运行 时间错误出现,那么我认为使用 torch.inference_mode
).
确实更可取
the PyTorch Developer Podcast 中提到了有关为什么开发推理模式的更多详细信息。
是的,在推理模式不会引发运行时错误的所有情况下,torch.inference_mode
是 indeed preferable 到 torch.no_grad
。
PyTorch 在 v1.9 中具有新功能 torch.inference_mode
,即“analogous to torch.no_grad
...代码 运行 在此模式下通过禁用视图获得更好的性能跟踪和版本计数器颠簸。"
如果我只是在测试时评估我的模型(即不训练),是否存在 torch.no_grad
优于 torch.inference_mode
的情况?我计划用后者替换前者的每个实例,我希望使用 运行 时间错误作为护栏(即我相信任何问题都会显示为 运行 时间错误,如果它不会作为 运行 时间错误出现,那么我认为使用 torch.inference_mode
).
the PyTorch Developer Podcast 中提到了有关为什么开发推理模式的更多详细信息。
是的,在推理模式不会引发运行时错误的所有情况下,torch.inference_mode
是 indeed preferable 到 torch.no_grad
。