Fix benchmark play inference scope - #7174
Conversation
Greptile SummaryThe PR fixes pretrained navigation-policy inference by disabling autograd while computing delegated low-level actions.
Confidence Score: 5/5The PR appears safe to merge, with the inference-only autograd change narrowly scoped and covered by a regression test. The embedded policy output is now computed without gradient tracking while existing observation computation, action decimation, buffer reuse, and downstream action application remain unchanged. Important Files Changed
Reviews (1): Last reviewed commit: "Fix navigation pretrained policy inferen..." | Re-trigger Greptile |
There was a problem hiding this comment.
Isaac Lab Review Bot
The change scopes gradient suppression to the embedded low-level policy inference, adds a focused regression test for gradient-free delegated actions, and records the user-visible fix in the package changelog.
- Design and architecture: The fix remains local to
PreTrainedPolicyAction.apply_actionsand preserves the existing observation computation, decimation, action delegation, and counter behavior. No architectural concerns were identified. - API: No public symbols, configuration fields, tensor shapes, or action interfaces change. The intentional behavioral change is that generated low-level actions no longer participate in autograd tracking.
- Implementation: Wrapping the policy call and buffer assignment in
torch.no_grad()prevents the preallocated action buffer from acquiring autograd history while preserving inference values and control flow. The regression test directly covers the affected delegation path, although its construction throughobject.__new__and manually populated private state creates a minor maintenance coupling to the class internals.
No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.
Automated review; human maintainers own approval decisions.
Summary
torch.inference_mode(), matching normal play and startup benchmarks.Validation
uv run isaaclab -fuv run python tools/changelog/cli.py check developuv run --extra test python -m pytest source/isaaclab/test/benchmark/test_play_schema.pyChecklist