Skip to content

Label RSL-RL play videos with checkpoint stems - #7392

Merged
kellyguo11 merged 3 commits into
isaac-sim:developfrom
diegoferigo-rai:diegoferigo/rsl-rl-play-video-checkpoint-prefix
Sep 4, 2026
Merged

Label RSL-RL play videos with checkpoint stems#7392
kellyguo11 merged 3 commits into
isaac-sim:developfrom
diegoferigo-rai:diegoferigo/rsl-rl-play-video-checkpoint-prefix

Conversation

@diegoferigo-rai

@diegoferigo-rai diegoferigo-rai commented Aug 27, 2026

Copy link
Copy Markdown

Description

When playing an RSL-RL checkpoint with video recording, the clip filenames do not say which checkpoint produced them, so videos from different checkpoints in the same run directory are indistinguishable. This appends the checkpoint stem to the play video filename prefix. The label is only applied to real RSL-RL checkpoints, matched as model_<N>.pt, so custom or pretrained checkpoint names that merely contain a digit are not mislabeled.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Release backport

  • Backport this pull request to the active release branch after it merges into develop

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have added a changelog fragment under source/<pkg>/changelog.d/ for every touched package
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@github-actions github-actions Bot added bug Something isn't working documentation Improvements or additions to documentation asset New asset feature or request isaac-mimic Related to Isaac Mimic team infrastructure labels Aug 27, 2026
@diegoferigo-rai
diegoferigo-rai changed the base branch from develop to release/3.0.0 August 27, 2026 16:46
@diegoferigo-rai
diegoferigo-rai marked this pull request as ready for review August 27, 2026 16:51
@diegoferigo-rai
diegoferigo-rai requested a review from a team August 27, 2026 16:51
@greptile-apps

greptile-apps Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR labels RSL-RL play video filenames with the stem of the checkpoint used for playback.

  • Passes the resolved RSL-RL checkpoint path into shared video-recording configuration.
  • Appends labels only for exact model_<N>.pt checkpoint names and preserves custom or pretrained names.
  • Adds focused tests and a changelog fragment for the new filename behavior.

Confidence Score: 5/5

The PR appears safe to merge with no actionable correctness or security issues identified.

The resolved checkpoint path is propagated only through the RSL-RL play flow, exact numeric checkpoint stems are appended without affecting training or custom checkpoint names, and the changed behavior is covered by focused tests.

Important Files Changed

Filename Overview
source/isaaclab_rl/isaaclab_rl/entrypoints/backends/play_rsl_rl.py Passes the resolved RSL-RL checkpoint path into play-time video configuration.
source/isaaclab_rl/isaaclab_rl/entrypoints/common.py Validates numeric RSL-RL checkpoint names and appends their stems to play video prefixes.
source/isaaclab_rl/test/test_apply_video_recording.py Covers numeric checkpoint labeling, custom and pretrained names, training behavior, and existing recorder prefixes.
source/isaaclab_rl/changelog.d/rsl-rl-play-video-checkpoint-prefix.rst Documents the corrected RSL-RL play video filename behavior.

Reviews (1): Last reviewed commit: "Label RSL-RL play videos with checkpoint..." | Re-trigger Greptile

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isaac Lab Review Bot

Adds checkpoint-specific labels to RSL-RL play video filename prefixes, but the duplicate-label check can incorrectly suppress labels for checkpoints whose numeric IDs overlap with an existing prefix.

  • Design and architecture: The optional keyword-only checkpoint path keeps existing training and non-RSL-RL callers unchanged while routing both default and preconfigured play recorders through the same labeling path.
  • API: The new checkpoint_path parameter is keyword-only and defaults to None, preserving compatibility for existing callers. The RSL-RL play entrypoint supplies the resolved checkpoint path explicitly.
  • Implementation: Matching is correctly limited to model_<digits>.pt, but _checkpoint_video_prefix() uses substring containment. For example, model_120 is considered present in clip_model_1200, leaving a video labeled with the wrong checkpoint. Duplicate suppression should compare a complete suffix token, such as equality with the label or endswith(f"_{label}").

Minor fixes needed. Posted 1 actionable finding inline.

Automated review; human maintainers own approval decisions.

Comment thread source/isaaclab_rl/isaaclab_rl/entrypoints/common.py Outdated
@diegoferigo-rai
diegoferigo-rai force-pushed the diegoferigo/rsl-rl-play-video-checkpoint-prefix branch from 384061a to 2f89c67 Compare August 27, 2026 17:13
@github-actions github-actions Bot added the isaac-lab Related to Isaac Lab team label Aug 27, 2026

@AntoineRichard AntoineRichard left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @diegoferigo-rai! The feature is nice, makes sense to me. Could you cut down the tests to the bare minimum, we're trying to get our CI under control and each added test is wasting compute!

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we cut down on the tests?

@diegoferigo-rai diegoferigo-rai Aug 28, 2026

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cut down in f70e29f, see the top-level comment.

@AntoineRichard

Copy link
Copy Markdown
Collaborator

Could you target develop? We'll backport them to release

@diegoferigo-rai

diegoferigo-rai commented Aug 28, 2026

Copy link
Copy Markdown
Author

Done. I consolidated the checkpoint-labeling tests into a single parametrized test plus the train-video case, cutting the added tests from six functions to two. Coverage is unchanged: default and existing-prefix labeling, the overlapping-id regression, and the non-model and non-numeric negatives. Consolidated in f70e29f.

Also retargeted to develop, thanks!

Previously, RSL-RL play videos used the same generic filename prefix for every checkpoint. Playing multiple numeric model checkpoints in one run directory could produce indistinguishable clips and collide with existing recordings.

Thread the resolved checkpoint path into play video setup and append its numeric model stem to the recorder prefix. Training videos and checkpoints without numeric stems keep the existing prefix.
Reduce CI cost per review feedback by merging the checkpoint-labeling
tests into one parametrized case. Coverage is preserved: default and
existing-prefix labeling, the overlapping-id regression, and the
non-model and non-numeric negatives.
@AntoineRichard

Copy link
Copy Markdown
Collaborator

@kellyguo11 @ClemensSchwarke could I get a review?

@AntoineRichard

Copy link
Copy Markdown
Collaborator

@diegoferigo-rai pre-commits failed, can you take a look?

The parametrized play-video test signature exceeded the 120-column limit. Let ruff format wrap the parameters so the ruff and ruff-format pre-commit hooks pass.
@diegoferigo-rai

Copy link
Copy Markdown
Author

Fixed in 73dc184. The play-video test signature was one column over the 120 limit, so ruff/ruff-format wanted to wrap it. Let the formatter wrap the parameters and pre-commit is green locally now.

@kellyguo11 kellyguo11 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@matthewtrepte for viz

@kellyguo11

Copy link
Copy Markdown
Contributor

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 4, 2026
@kellyguo11
kellyguo11 merged commit 8fbdc38 into isaac-sim:develop Sep 4, 2026
80 of 82 checks passed
@isaaclab-bot

isaaclab-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Backported to release/3.0.0 as 42b6e40.

isaaclab-bot Bot pushed a commit that referenced this pull request Sep 4, 2026
# Description

When playing an RSL-RL checkpoint with video recording, the clip
filenames do not say which checkpoint produced them, so videos from
different checkpoints in the same run directory are indistinguishable.
This appends the checkpoint stem to the play video filename prefix. The
label is only applied to real RSL-RL checkpoints, matched as
`model_<N>.pt`, so custom or pretrained checkpoint names that merely
contain a digit are not mislabeled.

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Release backport

- [x] <!-- backport-active-release --> Backport this pull request to the
active release branch after it merges into `develop`

## Checklist

- [x] I have read and understood the contribution guidelines
- [x] I have run the `pre-commit` checks with `./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

(cherry picked from commit 8fbdc38)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

asset New asset feature or request bug Something isn't working documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team isaac-mimic Related to Isaac Mimic team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants