Instructions to use logits/sft_robodojo_eefabs_openwam_320x384_mot49500_aligned_f33fps8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Sana
How to use logits/sft_robodojo_eefabs_openwam_320x384_mot49500_aligned_f33fps8 with Sana:
# Load the model and infer image from text import torch from app.sana_pipeline import SanaPipeline from torchvision.utils import save_image sana = SanaPipeline("configs/sana_config/1024ms/Sana_1600M_img1024.yaml") sana.from_pretrained("hf://logits/sft_robodojo_eefabs_openwam_320x384_mot49500_aligned_f33fps8") image = sana( prompt='a cyberpunk cat with a neon sign that says "Sana"', height=1024, width=1024, guidance_scale=5.0, pag_guidance_scale=2.0, num_inference_steps=18, ) - Notebooks
- Google Colab
- Kaggle
sft_robodojo_eefabs_openwam_320x384_mot49500_aligned_f33fps8
Final RoboDojo ARX-X5 MoT SFT checkpoint: epoch 10, optimizer step 36,180.
Original training run: sft_robodojo_mot_eefabs_openwam_384x320_pretrained_s49500_aligned_f33fps8.
Model and initialization
Both video and action experts were initialized by weight-only transfer from the regular MoT pretrained checkpoint epoch 9, step 49,500. SFT used the native MoT policy, with a fresh optimizer/scheduler at initial launch. The donor is available at logits/sana_policy_pretrained_mot_e9s49500.
- Model:
SanaRWMMoTAttnResPolicy_5B_P1_D36. - Layout: OpenWAM canvas, width 320 x height 384 (tensor HxW = 384x320). The head view occupies the top two thirds; left and right wrist views sit side by side in the bottom third.
- RoPE: aligned;
action_state_as_context=false. - One canvas prompt, with a separate caption embedder for each expert.
- Absolute robot-base EEF targets only, action mode ratio
[0, 1, 0]; joint slots are masked. - Rotation: column 6D representation. XYZ and gripper use q01/q99 statistics; rotation uses fixed min=-1/max=1 normalization. The included normalization artifact applies to initial state and action targets.
Training
All 3,500 episodes; 33 source rows at 25 Hz. Configured video_fps=8 uses stride 4: source rows 0,4,...,32 give 9 sampled RGB frames, 2 latent frames, and 32 dense action rows per window. Latent shape is [128, 2, 12, 10]. Video latents were read from the precomputed cache, including freeze-padded tail windows.
8 nodes x 4 GPUs x 16 samples/GPU = global batch 512; accumulation 1. 10 epochs, AdamW learning rate 1e-4, cosine decay, 2,000 warmup steps, weight decay 1e-4, gradient norm clip 1, action loss weight 1.
Video/action flow shifts 5/1, standard flow shift without token-count scaling. Timestep loss weighting is OpenWAM, with min_weight=0.1.
Training began as Slurm job 59122. Array task 68062_1 resumed the same run from step 34,000, restoring optimizer, scheduler and 32-rank RNG state, and completed at step 36,180 with exit code 0. The unused second array task was cancelled automatically. W&B identity, model, data and optimization settings were preserved.
Frozen training revision: 0928354f8505a61c1ffb21b338c4e00612d3e010, plus the source overlay identified by manifest SHA256 d93766d1c93649bf5e41bb2a2ce99cae778c9ca586cb344c513dd0b9d96d88e8. The later development-branch changes were not applied to this training run.
W&B training run. Exact settings and continuation provenance are archived in config.yaml and training_manifest.json.
Files
model/pytorch_model_fsdp.bin: full native MoT state dictionary, including video and action experts.metadata.pth: saved epoch/step and checkpoint metadata.config.yaml: frozen source configuration used for SFT.normalization/robodojo_arx_x5_model_fps_25_f33_normalization.json: normalization artifact used for training.training_manifest.json: initialization, sampling, layout and training provenance.upload_metadata.json: file hashes and upload provenance.
This is a model-weight export; optimizer checkpoint files are not included. The archived config preserves original local paths and the original training run name.
- Downloads last month
- 12