Skip to content

feat(transfer-sft): control-conditioned SFT dataset + curator support#104

Merged
lfengad merged 1 commit into
mainfrom
feat/transfer-sft-dataset
Jul 11, 2026
Merged

feat(transfer-sft): control-conditioned SFT dataset + curator support#104
lfengad merged 1 commit into
mainfrom
feat/transfer-sft-dataset

Conversation

@lfengad

@lfengad lfengad commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

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. Emits control_type on every row and control_path for precomputed depth/seg; clips with no matching precomputed file are dropped with reason missing_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, returns 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.

Verification

  • Live import of transfer_sft_dataset in the i4 container: OK (base class = SFTDataset).
  • Curator converter tests: 33 passed.

🤖 Generated with Claude Code

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>
@lfengad lfengad enabled auto-merge (squash) July 11, 2026 11:34
@lfengad lfengad merged commit 1e139fb into main Jul 11, 2026
8 checks passed
@lfengad lfengad deleted the feat/transfer-sft-dataset branch July 11, 2026 11:34
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