feat(transfer-sft): control-conditioned SFT dataset + curator support#104
Merged
Conversation
Port Cosmos Transfer (control-conditioned) SFT post-training to the OSS layout (i4 MR !10217): - curator_to_sft_jsonl.py: add --control-type (edge/blur/depth/seg) and --control-path-root. Emits control_type on every row and control_path for precomputed depth/seg; clips lacking a matching precomputed file are dropped with reason 'missing_control_path'. Summary records the control config. - transfer_sft_dataset.py: new TransferSFTDataset(SFTDataset) that computes edge/blur on-the-fly or loads precomputed depth/seg control videos, returning video=[control, target] with a shared-temporal-position SequencePlan; plus get_transfer_sft_dataset() loader. - Tests: 10 new cases covering edge/blur/depth control paths and the converter end-to-end. Verified in the i4 container: transfer_sft_dataset imports cleanly and all 33 curator converter tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
foreverlms
approved these changes
Jul 11, 2026
Xuanmeng-Zhang
approved these changes
Jul 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ports Cosmos Transfer (control-conditioned) SFT post-training to the OSS layout (from i4 MR !10217).
Changes
curator_to_sft_jsonl.py: add--control-type(edge/blur/depth/seg) and--control-path-root. Emitscontrol_typeon every row andcontrol_pathfor precomputed depth/seg; clips with no matching precomputed file are dropped with reasonmissing_control_path. Summary records the control config.transfer_sft_dataset.py(new):TransferSFTDataset(SFTDataset)— computes edge/blur on-the-fly or loads precomputed depth/seg control videos, returnsvideo=[control, target]with a shared-temporal-positionSequencePlan; plusget_transfer_sft_dataset()loader.Verification
transfer_sft_datasetin the i4 container: OK (base class =SFTDataset).🤖 Generated with Claude Code