Skip to content

Sync private main updates into public main#122

Merged
lfengad merged 2 commits into
mainfrom
sync/private-main-2026-07-20
Jul 21, 2026
Merged

Sync private main updates into public main#122
lfengad merged 2 commits into
mainfrom
sync/private-main-2026-07-20

Conversation

@lfengad

@lfengad lfengad commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Sync the latest nvidia-cosmos/cosmos-framework-private:main changes into public main.

Conflict resolution:

  • Preserve the public 768p Edge encode-chunk configuration.
  • Preserve the private Nano vision SFT action_gen=False changes and matching smoke-test expectations.
  • Apply Ruff import ordering required by the public repository.

Validation:

  • ruff check passed for all changed files.
  • git diff --check passed.
  • Full uv validation was not run because the shared uv distribution cache returned a permission error while reading antlr4-python3-runtime==4.9.3.

Because main is protected and disallows merge commits, merge this PR using the repository-approved squash/rebase path after all required checks pass.

@lfengad
lfengad enabled auto-merge (squash) July 21, 2026 06:40
…follow-up)

Vision SFT trains no action tokens, so the recipe should not build the
action head — the same recipe-scoped override PR #18 applied to Edge.
NANO_MODEL_CONFIG keeps action_gen=True (the released checkpoint ships
real DROID-trained action weights and the action-policy recipes rely on
it); vision_sft_nano deepcopies it into _NANO_VISION_MODEL_CONFIG with
action_gen=False, and vision_sft_nano_mapstyle_dataloader inherits via
its existing deepcopy of the composed recipe.

Accepted behavior change: vision-SFT'd Nano checkpoints and their
HF/diffusers exports no longer carry the pretrained action heads
(previously frozen pass-throughs, outside optimizer.keys_to_select).
Start from the base checkpoint or the action-policy recipes if you need
them. Loss is unchanged: the graph-consistency dummy forward contributed
0.0 * finite = 0.

nano_training_smoke_test.py's diffusers golden comparison now ignores
the action-only action_* tensors (action_proj_in/action_proj_out/
action_modality_embed) the export no longer contains, via the same
prefix filter already used for the sound-only audio_* tensors.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lfengad
lfengad force-pushed the sync/private-main-2026-07-20 branch from 2d61882 to 4e533af Compare July 21, 2026 06:43

@Dinghow Dinghow 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.

LGTM

@lfengad
lfengad merged commit 117c7d2 into main Jul 21, 2026
8 checks passed
@lfengad
lfengad deleted the sync/private-main-2026-07-20 branch July 21, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants