Download README.md from Linslab/ManiLadder_PI05_Models: direct link, hf CLI and curl.
- Browser
- Download file 35.5 kB
-
https://huggingface.co/Linslab/ManiLadder_PI05_Models/resolve/main/README.md
- Command line
-
hf download hf://Linslab/ManiLadder_PI05_Models/README.md
-
curl -L -o README.md https://huggingface.co/Linslab/ManiLadder_PI05_Models/resolve/main/README.md
license: mit
ManiLadder PI0.5 LoRA models
single_task
One PI0.5 LoRA checkpoint per ManiLadder task (110 tasks), each finetuned on 20 demos. Checkpoints are selected by the highest 50-episode success rate; ties use the earliest step.
The 60 previously published tasks use fixed evaluation seeds 1000β1049.
The 22 completed retraining runs published through 2026-10-30 use seeds 800000β800049. All reached 40,000 training steps. 15 have all eight 5kβ40k evaluations; 7 have seven evaluations because one intermediate checkpoint was not retained. Their selected weights are the best among the available evaluated checkpoints.
The 3 fresh-data runs in
pi05_newdata_3tasks_20261028use pinned dataset revisiond120457e637b01679fbb40fd4de1d2394f0d55c9, 20 demos per task, 40,000 training steps, and all eight 5kβ40k eval50 checkpoints with seeds 800000β800049. All three scored 0/50 at every checkpoint; step 5,000 is the earliest tied checkpoint. See their manifest.BagHanging-v1 and BagDropIn-v1 (campaign
pi05_bagtasks_20261106, added 2026-11-08) were trained on 20 demos regenerated with the updated task code (now inLinslab/ManiLadder_Datasetraw/<task>), 40,000 training steps, and all eight 5kβ40k eval50 checkpoints with seeds 1000β1049. See their manifest.The 23 tasks from the HF-data retraining campaign
pi05_hf21_20261025(added 2026-10-29; raw demos freshly downloaded from Linslab/ManiLadder_Dataset) use seeds 1000β1049. All reached 40,000 training steps and have all eight 5kβ40k evaluations. See its manifest.
See retraining provenance and missing steps. These scores use different seed sets across the two groups and are not a controlled comparison.
Each single_task/<task>/ folder contains:
lora_step_XXXXXXX.npzβ LoRA + trainable weightsnorm_stats.jsonβ normalization statistics used in trainingeval_result.jsonβ 50-episode evaluation of this checkpoint
single_task/results.csv lists the selected checkpoint per task; single_task/all_checkpoints_eval.csv has the
50-episode result of every evaluated checkpoint (870 total).
Evaluation: exec_steps=16, sample_steps=10. Tasks whose checkpoints all scored 0/50 are still included;
for them the step choice is arbitrary.
| task | level | step | success (50 ep) |
|---|---|---|---|
| DrapeCloth-v1 | 1 | 10000 | 1.00 |
| DualArmButtonPress-v1 | 1 | 5000 | 0.98 |
| DualArmCoverCloth-v1 | 1 | 15000 | 0.80 |
| DualArmDoubleDoorBox-v1 | 1 | 20000 | 0.82 |
| DualArmFoldHandKerchief-v1 | 1 | 5000 | 0.74 |
| DualArmHammerHandover-v1 | 1 | 25000 | 0.74 |
| DualArmLiftSoftDex-v1 | 1 | 25000 | 1.00 |
| DualArmOpenPen-v1 | 1 | 35000 | 0.36 |
| DualArmOpenScissor-v1 | 1 | 15000 | 0.86 |
| DualArmPouringWater-v1 | 1 | 35000 | 0.68 |
| DualArmPressButton-v1 | 1 | 15000 | 0.80 |
| DualArmPushBox-v1 | 1 | 30000 | 0.78 |
| DualArmRopeCylinderWarpping-v1 | 1 | 10000 | 0.62 |
| DualArmRopeStretch-v1 | 1 | 10000 | 0.92 |
| DualArmSwingCup-v1 | 1 | 20000 | 0.36 |
| GraspCylinder-v1 | 1 | 15000 | 0.94 |
| LiftBucket-v1 | 1 | 40000 | 0.96 |
| OpenDoor-v1 | 1 | 5000 | 0.30 |
| PickPlacePen-v1 | 1 | 20000 | 0.36 |
| PushSoccer-v1 | 1 | 40000 | 0.80 |
| ReorientCube-v1 | 1 | 5000 | 1.00 |
| RopePalmCageHoldDex-v1 | 1 | 5000 | 0.94 |
| ShapeTToI-v1 | 1 | 40000 | 0.50 |
| SqueezeClay-v1 | 1 | 15000 | 0.84 |
| StackBlock-v1 | 1 | 15000 | 0.46 |
| StraightenRope-v1 | 1 | 35000 | 0.84 |
| TurnOnFaucet-v1 | 1 | 10000 | 0.92 |
| UnfoldShirt-v1 | 1 | 5000 | 0.78 |
| ClothWipe-v1 | 2 | 25000 | 0.52 |
| DexOpenDoor-v1 | 2 | 5000 | 0.56 |
| DualArmBookPickPlace-v1 | 2 | 15000 | 0.56 |
| DualArmCleanupPotEnv-v1 | 2 | 35000 | 0.38 |
| DualArmClothAlign-v1 | 2 | 40000 | 0.38 |
| DualArmJugglingBall-v1 | 2 | 40000 | 0.06 |
| DualArmLiftBall-v1 | 2 | 35000 | 0.54 |
| DualArmOpenBottle-v1 | 2 | 30000 | 0.06 |
| DualArmOpenLaptop-v1 | 2 | 25000 | 0.42 |
| DualArmPegInHole-v1 | 2 | 5000 | 0.18 |
| DualArmPlaceRopeOverRod-v1 | 2 | 40000 | 0.46 |
| DualArmPouringTwoCups-v1 | 2 | 5000 | 0.00 |
| DualArmPushObject-v1 | 2 | 25000 | 0.06 |
| DualArmStraightenRope-v1 | 2 | 35000 | 0.48 |
| DualArmStuffCloth-v1 | 2 | 15000 | 0.40 |
| DualArmThrowBlock-v1 | 2 | 5000 | 0.00 |
| FoldShirt-v1 | 2 | 40000 | 0.72 |
| GraspTwoBlocks-v1 | 2 | 5000 | 0.72 |
| HammerNailOut-v1 | 2 | 40000 | 0.44 |
| HangMug-v1 | 2 | 10000 | 0.70 |
| KitAssembly-v1 | 2 | 15000 | 0.06 |
| OpenBoxRetrieval-v1 | 2 | 25000 | 0.38 |
| PivotBook-v1 | 2 | 15000 | 0.38 |
| ReorientPen-v1 | 2 | 25000 | 0.38 |
| RollingPin-v1 | 2 | 25000 | 0.96 |
| RopeBridgeDex-v1 | 2 | 30000 | 0.78 |
| ScoopWater-v1 | 2 | 15000 | 0.44 |
| StraightenTwoRopesSequential-v1 | 2 | 15000 | 0.36 |
| ClutterGrasp-v1 | 3 | 15000 | 0.16 |
| DualArmAssembleBracket-v1 | 3 | 5000 | 0.00 |
| DualArmFoldCarton-v1 | 3 | 25000 | 0.14 |
| DualArmLayerClayInDish-v1 | 3 | 5000 | 0.00 |
| DualArmMakeLine-v1 | 3 | 5000 | 0.00 |
| DualArmOpenFridge-v1 | 3 | 5000 | 0.00 |
| DualArmOrganizeCabinet-v1 | 3 | 5000 | 0.00 |
| DualArmPingpongBalance-v1 | 3 | 15000 | 0.20 |
| DualArmPlugCharger-v1 | 3 | 5000 | 0.00 |
| DualArmSetupTable-v1 | 3 | 25000 | 0.04 |
| DualArmShapeDoll-v1 | 3 | 30000 | 0.04 |
| DualArmThreadCloth-v1 | 3 | 5000 | 0.12 |
| DualArmThreadRopeThroughTube-v1 | 3 | 35000 | 0.16 |
| DualArmThreading-v1 | 3 | 20000 | 0.26 |
| DualArmWeaveCloth-v1 | 3 | 20000 | 0.32 |
| GroceryPrepare-v1 | 3 | 5000 | 0.00 |
| HammerNail-v1 | 3 | 35000 | 0.12 |
| HitBox-v1 | 3 | 25000 | 0.06 |
| LiquidMeasuring-v1 | 3 | 35000 | 0.32 |
| MobilePickPlace-v1 | 3 | 15000 | 0.08 |
| PressFitSoftPeg-v1 | 3 | 20000 | 0.08 |
| PushTargetPose-v1 | 3 | 30000 | 0.02 |
| SeparateTwoRopesEnv-v1 | 3 | 35000 | 0.26 |
| Stack6Blocks-v1 | 3 | 5000 | 0.00 |
| TweezersPickPlace-v1 | 3 | 5000 | 0.00 |
| BagDropIn-v1 | 3 | 15000 | 0.70 |
| BagHanging-v1 | 3 | 10000 | 0.88 |
| BuildTent-v1 | 4 | 10000 | 0.06 |
| ClaySealStamp-v1 | 4 | 5000 | 0.00 |
| CoverPattern-v1 | 4 | 30000 | 0.02 |
| DualArmBallClassify-v1 | 4 | 10000 | 0.00 |
| DualArmBilliardBridge-v1 | 4 | 5000 | 0.00 |
| DualArmClothCylinderWipe-v1 | 4 | 5000 | 0.02 |
| DualArmClothHanger-v1 | 4 | 5000 | 0.00 |
| DualArmFlipTable-v1 | 4 | 5000 | 0.00 |
| DualArmJumpRope-v1 | 4 | 20000 | 0.02 |
| DualArmKeyboardType-v1 | 4 | 5000 | 0.00 |
| DualArmLiquidMixing-v1 | 4 | 5000 | 0.00 |
| DualArmMahjongSetup-v1 | 4 | 5000 | 0.02 |
| DualArmSandShovel-v1 | 4 | 15000 | 0.02 |
| DualArmSendPingpong-v1 | 4 | 40000 | 0.08 |
| DualArmShootBasketball-v1 | 4 | 5000 | 0.00 |
| DualArmWallRings-v1 | 4 | 5000 | 0.00 |
| FitnessBall-v1 | 4 | 5000 | 0.00 |
| FlipPan-v1 | 4 | 40000 | 0.04 |
| HitBilliard-v1 | 4 | 5000 | 0.00 |
| PingPongBallTransport-v1 | 4 | 40000 | 0.16 |
| RingTossing-v1 | 4 | 5000 | 0.00 |
| RodThroughHoles-v1 | 4 | 5000 | 0.02 |
| SpinPenHora-v1 | 4 | 5000 | 0.00 |
| StampRoll-v1 | 4 | 5000 | 0.00 |
| SwingRing-v1 | 4 | 15000 | 0.04 |
| TennisRally-v1 | 4 | 15000 | 0.06 |
| WrapRope-v1 | 4 | 5000 | 0.02 |
multi_task (level-wise)
One PI0.5 LoRA policy per ManiLadder level, finetuned jointly on every task of that level (20 demos per task, 109 tasks in total) and evaluated on each of its tasks for 50 episodes (seeds 1000β1049). Only the final checkpoint (step 80,000) was evaluated; no checkpoint selection.
Recipe: batch 64, lr 5e-5 with 1k warmup and cosine decay over 80k steps, 8ΓA100-80GB data parallel, no online eval. action_dim follows the widest embodiment in the level; narrower embodiments are zero-padded and the normalization statistics ignore padded dimensions (see metadata.json). Evaluation: exec_steps=16, sample_steps=10.
Not included: BagHanging-v1 and BagDropIn-v1 (level 3) and SwingRing-v1 (level 4) on request; OpenCoffer-v1, ClayMolding-v1, PickSoft-v1, DualArmBuildCanel-v1, DualArmRopeScissorCut-v1 and DualArmSqueezeClayDex-v1 have no demos. MazeBlockPush-v1 and DualArmOpenScissor-v1 were trained on local demos newer than the HF copies (details in metadata.json).
Each multi_task/level_<N>/ folder contains lora_step_0080000.npz, norm_stats.json, metadata.json, eval_result.json (per-task 50-episode results) and eval_reports/<task>.json (per-episode rows). multi_task/results.csv lists every (level, task) row.
| level | tasks | evaluated | action_dim | mean success (50 ep/task) |
|---|---|---|---|---|
| level_1 | 28 | 28 | 44 | 0.579 |
| level_2 | 28 | 28 | 44 | 0.241 |
| level_3 | 26 | 26 | 50 | 0.005 |
| level_4 | 27 | 27 | 50 | 0.001 |
| task | level | embodiment | success (50 ep) |
|---|---|---|---|
| DualArmLiftSoftDex-v1 | 1 | deformable/dual_arm_dex | 1.00 |
| DualArmOpenScissor-v1 | 1 | rigid_body/dual_arm_dex | 0.98 |
| DrapeCloth-v1 | 1 | deformable/single_arm_dex | 0.96 |
| RopePalmCageHoldDex-v1 | 1 | deformable/single_arm_dex | 0.92 |
| DualArmButtonPress-v1 | 1 | rigid_body/dual_arm_gripper | 0.90 |
| GraspCylinder-v1 | 1 | rigid_body/single_arm_dex | 0.86 |
| ReorientCube-v1 | 1 | rigid_body/single_arm_dex | 0.84 |
| TurnOnFaucet-v1 | 1 | rigid_body/single_arm_dex | 0.84 |
| DualArmPouringWater-v1 | 1 | deformable/dual_arm_gripper | 0.72 |
| DualArmDoubleDoorBox-v1 | 1 | rigid_body/dual_arm_gripper | 0.70 |
| DualArmRopeCylinderWarpping-v1 | 1 | deformable/dual_arm_gripper | 0.66 |
| StraightenRope-v1 | 1 | deformable/single_arm_gripper | 0.66 |
| DualArmFoldHandKerchief-v1 | 1 | deformable/dual_arm_gripper | 0.60 |
| DualArmPushBox-v1 | 1 | rigid_body/dual_arm_gripper | 0.60 |
| PushSoccer-v1 | 1 | rigid_body/single_arm_gripper | 0.60 |
| LiftBucket-v1 | 1 | rigid_body/single_arm_dex | 0.54 |
| StackBlock-v1 | 1 | rigid_body/single_arm_gripper | 0.54 |
| DualArmRopeStretch-v1 | 1 | deformable/dual_arm_dex | 0.48 |
| DualArmSwingCup-v1 | 1 | rigid_body/dual_arm_dex | 0.42 |
| SqueezeClay-v1 | 1 | deformable/single_arm_dex | 0.40 |
| DualArmPressButton-v1 | 1 | rigid_body/dual_arm_dex | 0.38 |
| PickPlacePen-v1 | 1 | rigid_body/single_arm_gripper | 0.34 |
| DualArmOpenPen-v1 | 1 | rigid_body/dual_arm_dex | 0.30 |
| UnfoldShirt-v1 | 1 | deformable/single_arm_gripper | 0.28 |
| DualArmCoverCloth-v1 | 1 | deformable/dual_arm_dex | 0.24 |
| DualArmHammerHandover-v1 | 1 | rigid_body/dual_arm_gripper | 0.24 |
| OpenDoor-v1 | 1 | rigid_body/single_arm_gripper | 0.12 |
| ShapeTToI-v1 | 1 | deformable/single_arm_gripper | 0.10 |
| FoldShirt-v1 | 2 | deformable/single_arm_gripper | 0.62 |
| GraspTwoBlocks-v1 | 2 | rigid_body/single_arm_dex | 0.56 |
| DualArmClothAlign-v1 | 2 | deformable/dual_arm_gripper | 0.50 |
| DualArmPlaceRopeOverRod-v1 | 2 | deformable/dual_arm_dex | 0.48 |
| DualArmStuffCloth-v1 | 2 | deformable/dual_arm_dex | 0.44 |
| HangMug-v1 | 2 | rigid_body/single_arm_gripper | 0.42 |
| RollingPin-v1 | 2 | deformable/single_arm_dex | 0.38 |
| DualArmLiftBall-v1 | 2 | rigid_body/dual_arm_gripper | 0.36 |
| DualArmOpenLaptop-v1 | 2 | rigid_body/dual_arm_dex | 0.34 |
| HammerNailOut-v1 | 2 | rigid_body/single_arm_dex | 0.32 |
| RopeBridgeDex-v1 | 2 | deformable/single_arm_dex | 0.32 |
| ReorientPen-v1 | 2 | rigid_body/single_arm_dex | 0.30 |
| DexOpenDoor-v1 | 2 | rigid_body/single_arm_dex | 0.28 |
| ScoopWater-v1 | 2 | deformable/single_arm_gripper | 0.26 |
| ClothWipe-v1 | 2 | deformable/single_arm_dex | 0.24 |
| DualArmStraightenRope-v1 | 2 | deformable/dual_arm_gripper | 0.24 |
| DualArmThrowBlock-v1 | 2 | rigid_body/dual_arm_dex | 0.20 |
| DualArmPegInHole-v1 | 2 | rigid_body/dual_arm_gripper | 0.18 |
| PivotBook-v1 | 2 | rigid_body/single_arm_gripper | 0.16 |
| StraightenTwoRopesSequential-v1 | 2 | deformable/single_arm_gripper | 0.12 |
| OpenBoxRetrieval-v1 | 2 | rigid_body/single_arm_gripper | 0.04 |
| DualArmBookPickPlace-v1 | 2 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmCleanupPotEnv-v1 | 2 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmJugglingBall-v1 | 2 | rigid_body/dual_arm_dex | 0.00 |
| DualArmOpenBottle-v1 | 2 | rigid_body/dual_arm_dex | 0.00 |
| DualArmPouringTwoCups-v1 | 2 | deformable/dual_arm_dex | 0.00 |
| DualArmPushObject-v1 | 2 | deformable/dual_arm_gripper | 0.00 |
| KitAssembly-v1 | 2 | rigid_body/single_arm_gripper | 0.00 |
| SeparateTwoRopesEnv-v1 | 3 | deformable/single_arm_gripper | 0.06 |
| ClutterGrasp-v1 | 3 | rigid_body/single_arm_dex | 0.04 |
| DualArmThreadCloth-v1 | 3 | deformable/dual_arm_dex | 0.04 |
| DualArmAssembleBracket-v1 | 3 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmFoldCarton-v1 | 3 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmLayerClayInDish-v1 | 3 | deformable/dual_arm_dex | 0.00 |
| DualArmMakeLine-v1 | 3 | rigid_body/dual_arm_dex | 0.00 |
| DualArmOpenFridge-v1 | 3 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmOrganizeCabinet-v1 | 3 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmPingpongBalance-v1 | 3 | rigid_body/dual_arm_dex | 0.00 |
| DualArmPlugCharger-v1 | 3 | rigid_body/dual_arm_dex | 0.00 |
| DualArmSetupTable-v1 | 3 | rigid_body/dual_arm_dex | 0.00 |
| DualArmShapeDoll-v1 | 3 | deformable/dual_arm_gripper | 0.00 |
| DualArmThreadRopeThroughTube-v1 | 3 | deformable/dual_arm_gripper | 0.00 |
| DualArmThreading-v1 | 3 | deformable/dual_arm_dex | 0.00 |
| DualArmWeaveCloth-v1 | 3 | deformable/dual_arm_gripper | 0.00 |
| GroceryPrepare-v1 | 3 | rigid_body/single_arm_gripper | 0.00 |
| HammerNail-v1 | 3 | rigid_body/single_arm_dex | 0.00 |
| HitBox-v1 | 3 | deformable/single_arm_dex | 0.00 |
| LiquidMeasuring-v1 | 3 | deformable/single_arm_gripper | 0.00 |
| MazeBlockPush-v1 | 3 | rigid_body/single_arm_gripper | 0.00 |
| MobilePickPlace-v1 | 3 | rigid_body/single_arm_dex | 0.00 |
| PressFitSoftPeg-v1 | 3 | deformable/single_arm_dex | 0.00 |
| PushTargetPose-v1 | 3 | rigid_body/single_arm_gripper | 0.00 |
| Stack6Blocks-v1 | 3 | rigid_body/single_arm_gripper | 0.00 |
| TweezersPickPlace-v1 | 3 | rigid_body/single_arm_dex | 0.00 |
| DualArmClothCylinderWipe-v1 | 4 | deformable/dual_arm_dex | 0.02 |
| BuildTent-v1 | 4 | deformable/single_arm_gripper | 0.00 |
| ClaySealStamp-v1 | 4 | deformable/single_arm_dex | 0.00 |
| CoverPattern-v1 | 4 | deformable/single_arm_dex | 0.00 |
| DualArmBallClassify-v1 | 4 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmBilliardBridge-v1 | 4 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmClothHanger-v1 | 4 | deformable/dual_arm_gripper | 0.00 |
| DualArmFlipTable-v1 | 4 | rigid_body/dual_arm_dex | 0.00 |
| DualArmJumpRope-v1 | 4 | deformable/dual_arm_dex | 0.00 |
| DualArmKeyboardType-v1 | 4 | rigid_body/dual_arm_dex | 0.00 |
| DualArmLiquidMixing-v1 | 4 | deformable/dual_arm_dex | 0.00 |
| DualArmMahjongSetup-v1 | 4 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmRubikCube-v1 | 4 | rigid_body/dual_arm_gripper | 0.00 |
| DualArmSandShovel-v1 | 4 | deformable/dual_arm_gripper | 0.00 |
| DualArmSendPingpong-v1 | 4 | rigid_body/dual_arm_dex | 0.00 |
| DualArmShootBasketball-v1 | 4 | rigid_body/dual_arm_dex | 0.00 |
| DualArmWallRings-v1 | 4 | deformable/dual_arm_gripper | 0.00 |
| FitnessBall-v1 | 4 | rigid_body/single_arm_dex | 0.00 |
| FlipPan-v1 | 4 | rigid_body/single_arm_gripper | 0.00 |
| HitBilliard-v1 | 4 | rigid_body/single_arm_gripper | 0.00 |
| PingPongBallTransport-v1 | 4 | rigid_body/single_arm_gripper | 0.00 |
| RingTossing-v1 | 4 | rigid_body/single_arm_gripper | 0.00 |
| RodThroughHoles-v1 | 4 | rigid_body/single_arm_dex | 0.00 |
| SpinPenHora-v1 | 4 | rigid_body/single_arm_dex | 0.00 |
| StampRoll-v1 | 4 | deformable/single_arm_gripper | 0.00 |
| TennisRally-v1 | 4 | rigid_body/single_arm_dex | 0.00 |
| WrapRope-v1 | 4 | deformable/single_arm_gripper | 0.00 |
Previous single-task checkpoints classified as reusable
The previous_single_task/ collection preserves one best checkpoint from each of the 62 earlier single-task runs classified as reusable in the 2026-10-22 audit. It is separate from newer retraining runs in single_task/. See the CSV or JSON manifest, sorted by level, suite, and task.
For 60 tasks, selection uses the available 50-episode reevaluations (seeds 1000β1049). The original DualArmPouringWater-v1 peak is 19/20 (95%) at 30k; the original MazeBlockPush-v1 peak is 13/20 (65%) at 30k. These two are selected from historical 20-episode online evaluations and must not be presented as eval50 scores. Each folder contains the selected weights, normalization statistics, evaluation summary/history, and audit provenance.
Non-finite reward means in the historical reports are represented as null/blank and marked return_mean_finite=false; checkpoint selection uses the reported success counts.
The reusable classification was based on timestamp and source-change review; the original training runs did not save complete source snapshots.
multi_task (level-2 subsets)
Six multi-task PI0.5 LoRA policies, each finetuned for 50,000 steps (batch 64, lr 5e-5, cosine decay) on a subset of the 28 level-2 tasks (20 demos per task); every level-2 task belongs to exactly three subsets. Only the final checkpoint was evaluated (50 episodes per task, seeds 1000β1049); the 10k/20k/30k/40k snapshots are included unevaluated. Campaign pi05_lv2sub_20261029 (2026-10-29/30). See the manifest and multi_task/results.csv.
Each multi_task/<suite>/ folder contains:
lora_step_0010000.npzβ¦lora_step_0050000.npzβ LoRA + trainable weights every 10k steps (0050000is the evaluated one)norm_stats.jsonβ normalization statistics used in training (action/state dim 44, zero-padded for narrower embodiments)metadata.jsonβ task list, training config, checkpoint hashes, env source hasheseval_result.jsonβ per-task 50-episode success of the final checkpoint;eval_reports/<task>.jsonhas per-episode results
| suite | tasks | mean success (50 ep/task) |
|---|---|---|
| level2_rigid | 16 | 0.173 |
| level2_deformable | 12 | 0.167 |
| level2_single_arm | 14 | 0.241 |
| level2_dual_arm | 14 | 0.120 |
| level2_gripper | 14 | 0.166 |
| level2_dexterous | 14 | 0.210 |
| task | level2_rigid | level2_deformable | level2_single_arm | level2_dual_arm | level2_gripper | level2_dexterous |
|---|---|---|---|---|---|---|
| ClothWipe-v1 | 0.24 | 0.18 | 0.10 | |||
| DexOpenDoor-v1 | 0.38 | 0.18 | 0.26 | |||
| DualArmBookPickPlace-v1 | 0.00 | 0.00 | 0.16 | |||
| DualArmCleanupPotEnv-v1 | 0.00 | 0.00 | 0.00 | |||
| DualArmClothAlign-v1 | 0.30 | 0.26 | 0.34 | |||
| DualArmJugglingBall-v1 | 0.04 | 0.12 | 0.00 | |||
| DualArmLiftBall-v1 | 0.20 | 0.28 | 0.16 | |||
| DualArmOpenBottle-v1 | 0.00 | 0.00 | 0.00 | |||
| DualArmOpenLaptop-v1 | 0.04 | 0.14 | 0.08 | |||
| DualArmPegInHole-v1 | 0.10 | 0.08 | 0.16 | |||
| DualArmPlaceRopeOverRod-v1 | 0.12 | 0.16 | 0.58 | |||
| DualArmPouringTwoCups-v1 | 0.00 | 0.00 | 0.00 | |||
| DualArmPushObject-v1 | 0.00 | 0.00 | 0.04 | |||
| DualArmStraightenRope-v1 | 0.10 | 0.20 | 0.10 | |||
| DualArmStuffCloth-v1 | 0.28 | 0.12 | 0.24 | |||
| DualArmThrowBlock-v1 | 0.22 | 0.32 | 0.20 | |||
| FoldShirt-v1 | 0.22 | 0.50 | 0.62 | |||
| GraspTwoBlocks-v1 | 0.56 | 0.70 | 0.64 | |||
| HammerNailOut-v1 | 0.08 | 0.34 | 0.22 | |||
| HangMug-v1 | 0.62 | 0.46 | 0.50 | |||
| KitAssembly-v1 | 0.06 | 0.06 | 0.00 | |||
| OpenBoxRetrieval-v1 | 0.02 | 0.04 | 0.04 | |||
| PivotBook-v1 | 0.04 | 0.18 | 0.16 | |||
| ReorientPen-v1 | 0.40 | 0.16 | 0.26 | |||
| RollingPin-v1 | 0.18 | 0.10 | 0.20 | |||
| RopeBridgeDex-v1 | 0.22 | 0.40 | 0.16 | |||
| ScoopWater-v1 | 0.26 | 0.00 | 0.00 | |||
| StraightenTwoRopesSequential-v1 | 0.08 | 0.08 | 0.04 |
multi_task (level-2 suite transfer)
Six suite-transfer runs: each starts from all parameters of the final checkpoint of one level-2 subset policy above (pi05_lv2sub_20261029) and is finetuned for another 50,000 steps (fresh schedule: batch 64, lr 5e-5, 1k warmup, cosine decay) on the tasks of a different grouping of the same 28 level-2 tasks, then evaluated on those tasks (final checkpoint only, 50 episodes per task, seeds 1000β1049). The baseline is the from-scratch policy of the target grouping from the section above (same tasks, same seeds). Campaign pi05_lv2xfer_20261101 (2026-11-01). See the manifest and multi_task/results.csv (column campaign).
Each multi_task/<target>_from_<source>/ folder has the same files as the subset suites (lora_step_0010000.npz β¦ lora_step_0050000.npz, norm_stats.json, metadata.json with init_from, eval_result.json, eval_reports/<task>.json).
| suite | source policy | target tasks | transfer mean (50 ep/task) | from-scratch baseline |
|---|---|---|---|---|
| level2_rigid_from_deformable | level2_deformable | 16 | 0.199 | 0.173 |
| level2_deformable_from_rigid | level2_rigid | 12 | 0.258 | 0.167 |
| level2_dual_arm_from_single_arm | level2_single_arm | 14 | 0.139 | 0.120 |
| level2_single_arm_from_dual_arm | level2_dual_arm | 14 | 0.240 | 0.241 |
| level2_dexterous_from_gripper | level2_gripper | 14 | 0.280 | 0.210 |
| level2_gripper_from_dexterous | level2_dexterous | 14 | 0.227 | 0.166 |
Per task: transfer success rate (from-scratch baseline in parentheses).
| task | level2_rigid_from_deformable | level2_deformable_from_rigid | level2_dual_arm_from_single_arm | level2_single_arm_from_dual_arm | level2_dexterous_from_gripper | level2_gripper_from_dexterous |
|---|---|---|---|---|---|---|
| ClothWipe-v1 | 0.12 (0.24) | 0.34 (0.18) | 0.10 (0.10) | |||
| DexOpenDoor-v1 | 0.18 (0.38) | 0.10 (0.18) | 0.20 (0.26) | |||
| DualArmBookPickPlace-v1 | 0.26 (0.00) | 0.00 (0.00) | 0.42 (0.16) | |||
| DualArmCleanupPotEnv-v1 | 0.00 (0.00) | 0.00 (0.00) | 0.02 (0.00) | |||
| DualArmClothAlign-v1 | 0.42 (0.30) | 0.20 (0.26) | 0.34 (0.34) | |||
| DualArmJugglingBall-v1 | 0.04 (0.04) | 0.14 (0.12) | 0.12 (0.00) | |||
| DualArmLiftBall-v1 | 0.24 (0.20) | 0.40 (0.28) | 0.22 (0.16) | |||
| DualArmOpenBottle-v1 | 0.00 (0.00) | 0.00 (0.00) | 0.00 (0.00) | |||
| DualArmOpenLaptop-v1 | 0.18 (0.04) | 0.40 (0.14) | 0.30 (0.08) | |||
| DualArmPegInHole-v1 | 0.20 (0.10) | 0.14 (0.08) | 0.22 (0.16) | |||
| DualArmPlaceRopeOverRod-v1 | 0.44 (0.12) | 0.16 (0.16) | 0.54 (0.58) | |||
| DualArmPouringTwoCups-v1 | 0.00 (0.00) | 0.00 (0.00) | 0.00 (0.00) | |||
| DualArmPushObject-v1 | 0.00 (0.00) | 0.00 (0.00) | 0.04 (0.04) | |||
| DualArmStraightenRope-v1 | 0.22 (0.10) | 0.08 (0.20) | 0.04 (0.10) | |||
| DualArmStuffCloth-v1 | 0.10 (0.28) | 0.38 (0.12) | 0.48 (0.24) | |||
| DualArmThrowBlock-v1 | 0.16 (0.22) | 0.04 (0.32) | 0.26 (0.20) | |||
| FoldShirt-v1 | 0.38 (0.22) | 0.38 (0.50) | 0.48 (0.62) | |||
| GraspTwoBlocks-v1 | 0.54 (0.56) | 0.46 (0.70) | 0.52 (0.64) | |||
| HammerNailOut-v1 | 0.32 (0.08) | 0.30 (0.34) | 0.42 (0.22) | |||
| HangMug-v1 | 0.52 (0.62) | 0.36 (0.46) | 0.40 (0.50) | |||
| KitAssembly-v1 | 0.00 (0.06) | 0.10 (0.06) | 0.00 (0.00) | |||
| OpenBoxRetrieval-v1 | 0.04 (0.02) | 0.04 (0.04) | 0.28 (0.04) | |||
| PivotBook-v1 | 0.12 (0.04) | 0.12 (0.18) | 0.22 (0.16) | |||
| ReorientPen-v1 | 0.38 (0.40) | 0.26 (0.16) | 0.20 (0.26) | |||
| RollingPin-v1 | 0.62 (0.18) | 0.06 (0.10) | 0.28 (0.20) | |||
| RopeBridgeDex-v1 | 0.34 (0.22) | 0.48 (0.40) | 0.50 (0.16) | |||
| ScoopWater-v1 | 0.24 (0.26) | 0.18 (0.00) | 0.30 (0.00) | |||
| StraightenTwoRopesSequential-v1 | 0.22 (0.08) | 0.18 (0.08) | 0.20 (0.04) |
multi_task (level-to-level transfer)
Transfer experiments between the level-wise multi-task policies above: each policy in multi_task/level_<B>/ (trained 80k steps from pi05_base) was used as the initialisation for a further 50,000 LoRA steps on every task of another level (campaign pi05_transfer_20261101), then evaluated on the target level's tasks for 50 episodes each (seeds 1000β1049, final checkpoint only). The baseline column is the target level's own policy from multi_task/level_<B>/ on the same tasks.
Recipe: identical to the level-wise runs except for the initialisation and length: batch 64, lr 5e-5 with 1k warmup and cosine decay to 5e-6 over 50k steps, fresh AdamW, 8ΓA100-80GB data parallel, target-level dataset and normalization statistics. Where source and target action_dim differ (44 β 50) only the three action projection tensors are partially copied (overlapping slice kept, new slots freshly initialised); see metadata.json.
Each multi_task/level<B>_from_level<A>/ folder contains lora_step_0050000.npz, norm_stats.json, metadata.json, eval_result.json (per-task results with baselines) and eval_reports/<task>.json (per-episode rows). Rows are also in multi_task/results.csv (campaign pi05_transfer_20261101).
| folder | init from | trained + evaluated on | tasks | action_dim | mean success (50 ep/task) | baseline (level_ from pi05_base) |
|---|---|---|---|---|---|---|
| level2_from_level1 | level_1 @80k | level_2 (28 tasks) | 28/28 | 44 | 0.218 | 0.241 |
| level1_from_level2 | level_2 @80k | level_1 (28 tasks) | 28/28 | 44 | 0.620 | 0.579 |
| level3_from_level2 | level_2 @80k | level_3 (26 tasks) | 26/26 | 50 | 0.002 | 0.005 |
| level2_from_level3 | level_3 @80k | level_2 (28 tasks) | 28/28 | 44 | 0.197 | 0.241 |
| task | folder | embodiment | transfer success (50 ep) | baseline success (50 ep) |
|---|---|---|---|---|
| DualArmPlaceRopeOverRod-v1 | level2_from_level1 | deformable/dual_arm_dex | 0.74 | 0.48 |
| GraspTwoBlocks-v1 | level2_from_level1 | rigid_body/single_arm_dex | 0.64 | 0.56 |
| FoldShirt-v1 | level2_from_level1 | deformable/single_arm_gripper | 0.50 | 0.62 |
| HangMug-v1 | level2_from_level1 | rigid_body/single_arm_gripper | 0.42 | 0.42 |
| RollingPin-v1 | level2_from_level1 | deformable/single_arm_dex | 0.38 | 0.38 |
| HammerNailOut-v1 | level2_from_level1 | rigid_body/single_arm_dex | 0.32 | 0.32 |
| RopeBridgeDex-v1 | level2_from_level1 | deformable/single_arm_dex | 0.32 | 0.32 |
| DualArmOpenLaptop-v1 | level2_from_level1 | rigid_body/dual_arm_dex | 0.30 | 0.34 |
| ReorientPen-v1 | level2_from_level1 | rigid_body/single_arm_dex | 0.30 | 0.30 |
| DualArmPegInHole-v1 | level2_from_level1 | rigid_body/dual_arm_gripper | 0.28 | 0.18 |
| ClothWipe-v1 | level2_from_level1 | deformable/single_arm_dex | 0.24 | 0.24 |
| DualArmThrowBlock-v1 | level2_from_level1 | rigid_body/dual_arm_dex | 0.24 | 0.20 |
| DualArmClothAlign-v1 | level2_from_level1 | deformable/dual_arm_gripper | 0.22 | 0.50 |
| DualArmJugglingBall-v1 | level2_from_level1 | rigid_body/dual_arm_dex | 0.20 | 0.00 |
| DexOpenDoor-v1 | level2_from_level1 | rigid_body/single_arm_dex | 0.18 | 0.28 |
| DualArmLiftBall-v1 | level2_from_level1 | rigid_body/dual_arm_gripper | 0.18 | 0.36 |
| DualArmStraightenRope-v1 | level2_from_level1 | deformable/dual_arm_gripper | 0.14 | 0.24 |
| PivotBook-v1 | level2_from_level1 | rigid_body/single_arm_gripper | 0.14 | 0.16 |
| ScoopWater-v1 | level2_from_level1 | deformable/single_arm_gripper | 0.14 | 0.26 |
| DualArmStuffCloth-v1 | level2_from_level1 | deformable/dual_arm_dex | 0.10 | 0.44 |
| OpenBoxRetrieval-v1 | level2_from_level1 | rigid_body/single_arm_gripper | 0.06 | 0.04 |
| StraightenTwoRopesSequential-v1 | level2_from_level1 | deformable/single_arm_gripper | 0.06 | 0.12 |
| DualArmBookPickPlace-v1 | level2_from_level1 | rigid_body/dual_arm_gripper | 0.00 | 0.00 |
| DualArmCleanupPotEnv-v1 | level2_from_level1 | rigid_body/dual_arm_gripper | 0.00 | 0.00 |
| DualArmOpenBottle-v1 | level2_from_level1 | rigid_body/dual_arm_dex | 0.00 | 0.00 |
| DualArmPouringTwoCups-v1 | level2_from_level1 | deformable/dual_arm_dex | 0.00 | 0.00 |
| DualArmPushObject-v1 | level2_from_level1 | deformable/dual_arm_gripper | 0.00 | 0.00 |
| KitAssembly-v1 | level2_from_level1 | rigid_body/single_arm_gripper | 0.00 | 0.00 |
| ReorientCube-v1 | level1_from_level2 | rigid_body/single_arm_dex | 1.00 | 0.84 |
| DrapeCloth-v1 | level1_from_level2 | deformable/single_arm_dex | 0.98 | 0.96 |
| DualArmLiftSoftDex-v1 | level1_from_level2 | deformable/dual_arm_dex | 0.98 | 1.00 |
| TurnOnFaucet-v1 | level1_from_level2 | rigid_body/single_arm_dex | 0.98 | 0.84 |
| DualArmButtonPress-v1 | level1_from_level2 | rigid_body/dual_arm_gripper | 0.94 | 0.90 |
| GraspCylinder-v1 | level1_from_level2 | rigid_body/single_arm_dex | 0.94 | 0.86 |
| RopePalmCageHoldDex-v1 | level1_from_level2 | deformable/single_arm_dex | 0.94 | 0.92 |
| DualArmOpenScissor-v1 | level1_from_level2 | rigid_body/dual_arm_dex | 0.86 | 0.98 |
| DualArmRopeStretch-v1 | level1_from_level2 | deformable/dual_arm_dex | 0.82 | 0.48 |
| LiftBucket-v1 | level1_from_level2 | rigid_body/single_arm_dex | 0.82 | 0.54 |
| DualArmRopeCylinderWarpping-v1 | level1_from_level2 | deformable/dual_arm_gripper | 0.70 | 0.66 |
| PushSoccer-v1 | level1_from_level2 | rigid_body/single_arm_gripper | 0.70 | 0.60 |
| DualArmFoldHandKerchief-v1 | level1_from_level2 | deformable/dual_arm_gripper | 0.66 | 0.60 |
| StackBlock-v1 | level1_from_level2 | rigid_body/single_arm_gripper | 0.66 | 0.54 |
| DualArmPouringWater-v1 | level1_from_level2 | deformable/dual_arm_gripper | 0.64 | 0.72 |
| StraightenRope-v1 | level1_from_level2 | deformable/single_arm_gripper | 0.62 | 0.66 |
| SqueezeClay-v1 | level1_from_level2 | deformable/single_arm_dex | 0.60 | 0.40 |
| DualArmDoubleDoorBox-v1 | level1_from_level2 | rigid_body/dual_arm_gripper | 0.56 | 0.70 |
| PickPlacePen-v1 | level1_from_level2 | rigid_body/single_arm_gripper | 0.50 | 0.34 |
| DualArmPushBox-v1 | level1_from_level2 | rigid_body/dual_arm_gripper | 0.42 | 0.60 |
| DualArmSwingCup-v1 | level1_from_level2 | rigid_body/dual_arm_dex | 0.42 | 0.42 |
| DualArmCoverCloth-v1 | level1_from_level2 | deformable/dual_arm_dex | 0.36 | 0.24 |
| ShapeTToI-v1 | level1_from_level2 | deformable/single_arm_gripper | 0.32 | 0.10 |
| DualArmOpenPen-v1 | level1_from_level2 | rigid_body/dual_arm_dex | 0.28 | 0.30 |
| UnfoldShirt-v1 | level1_from_level2 | deformable/single_arm_gripper | 0.26 | 0.28 |
| DualArmPressButton-v1 | level1_from_level2 | rigid_body/dual_arm_dex | 0.18 | 0.38 |
| DualArmHammerHandover-v1 | level1_from_level2 | rigid_body/dual_arm_gripper | 0.12 | 0.24 |
| OpenDoor-v1 | level1_from_level2 | rigid_body/single_arm_gripper | 0.10 | 0.12 |
| DualArmThreading-v1 | level3_from_level2 | deformable/dual_arm_dex | 0.04 | 0.00 |
| DualArmThreadCloth-v1 | level3_from_level2 | deformable/dual_arm_dex | 0.02 | 0.04 |
| ClutterGrasp-v1 | level3_from_level2 | rigid_body/single_arm_dex | 0.00 | 0.04 |
| DualArmAssembleBracket-v1 | level3_from_level2 | rigid_body/dual_arm_gripper | 0.00 | 0.00 |
| DualArmFoldCarton-v1 | level3_from_level2 | rigid_body/dual_arm_gripper | 0.00 | 0.00 |
| DualArmLayerClayInDish-v1 | level3_from_level2 | deformable/dual_arm_dex | 0.00 | 0.00 |
| DualArmMakeLine-v1 | level3_from_level2 | rigid_body/dual_arm_dex | 0.00 | 0.00 |
| DualArmOpenFridge-v1 | level3_from_level2 | rigid_body/dual_arm_gripper | 0.00 | 0.00 |
| DualArmOrganizeCabinet-v1 | level3_from_level2 | rigid_body/dual_arm_gripper | 0.00 | 0.00 |
| DualArmPingpongBalance-v1 | level3_from_level2 | rigid_body/dual_arm_dex | 0.00 | 0.00 |
| DualArmPlugCharger-v1 | level3_from_level2 | rigid_body/dual_arm_dex | 0.00 | 0.00 |
| DualArmSetupTable-v1 | level3_from_level2 | rigid_body/dual_arm_dex | 0.00 | 0.00 |
| DualArmShapeDoll-v1 | level3_from_level2 | deformable/dual_arm_gripper | 0.00 | 0.00 |
| DualArmThreadRopeThroughTube-v1 | level3_from_level2 | deformable/dual_arm_gripper | 0.00 | 0.00 |
| DualArmWeaveCloth-v1 | level3_from_level2 | deformable/dual_arm_gripper | 0.00 | 0.00 |
| GroceryPrepare-v1 | level3_from_level2 | rigid_body/single_arm_gripper | 0.00 | 0.00 |
| HammerNail-v1 | level3_from_level2 | rigid_body/single_arm_dex | 0.00 | 0.00 |
| HitBox-v1 | level3_from_level2 | deformable/single_arm_dex | 0.00 | 0.00 |
| LiquidMeasuring-v1 | level3_from_level2 | deformable/single_arm_gripper | 0.00 | 0.00 |
| MazeBlockPush-v1 | level3_from_level2 | rigid_body/single_arm_gripper | 0.00 | 0.00 |
| MobilePickPlace-v1 | level3_from_level2 | rigid_body/single_arm_dex | 0.00 | 0.00 |
| PressFitSoftPeg-v1 | level3_from_level2 | deformable/single_arm_dex | 0.00 | 0.00 |
| PushTargetPose-v1 | level3_from_level2 | rigid_body/single_arm_gripper | 0.00 | 0.00 |
| SeparateTwoRopesEnv-v1 | level3_from_level2 | deformable/single_arm_gripper | 0.00 | 0.06 |
| Stack6Blocks-v1 | level3_from_level2 | rigid_body/single_arm_gripper | 0.00 | 0.00 |
| TweezersPickPlace-v1 | level3_from_level2 | rigid_body/single_arm_dex | 0.00 | 0.00 |
| RopeBridgeDex-v1 | level2_from_level3 | deformable/single_arm_dex | 0.62 | 0.32 |
| HangMug-v1 | level2_from_level3 | rigid_body/single_arm_gripper | 0.60 | 0.42 |
| ClothWipe-v1 | level2_from_level3 | deformable/single_arm_dex | 0.58 | 0.24 |
| FoldShirt-v1 | level2_from_level3 | deformable/single_arm_gripper | 0.46 | 0.62 |
| DexOpenDoor-v1 | level2_from_level3 | rigid_body/single_arm_dex | 0.40 | 0.28 |
| GraspTwoBlocks-v1 | level2_from_level3 | rigid_body/single_arm_dex | 0.38 | 0.56 |
| ReorientPen-v1 | level2_from_level3 | rigid_body/single_arm_dex | 0.36 | 0.30 |
| HammerNailOut-v1 | level2_from_level3 | rigid_body/single_arm_dex | 0.30 | 0.32 |
| DualArmOpenLaptop-v1 | level2_from_level3 | rigid_body/dual_arm_dex | 0.26 | 0.34 |
| DualArmPlaceRopeOverRod-v1 | level2_from_level3 | deformable/dual_arm_dex | 0.24 | 0.48 |
| PivotBook-v1 | level2_from_level3 | rigid_body/single_arm_gripper | 0.18 | 0.16 |
| DualArmJugglingBall-v1 | level2_from_level3 | rigid_body/dual_arm_dex | 0.14 | 0.00 |
| DualArmLiftBall-v1 | level2_from_level3 | rigid_body/dual_arm_gripper | 0.14 | 0.36 |
| DualArmStraightenRope-v1 | level2_from_level3 | deformable/dual_arm_gripper | 0.14 | 0.24 |
| DualArmThrowBlock-v1 | level2_from_level3 | rigid_body/dual_arm_dex | 0.14 | 0.20 |
| DualArmClothAlign-v1 | level2_from_level3 | deformable/dual_arm_gripper | 0.12 | 0.50 |
| DualArmStuffCloth-v1 | level2_from_level3 | deformable/dual_arm_dex | 0.12 | 0.44 |
| DualArmPegInHole-v1 | level2_from_level3 | rigid_body/dual_arm_gripper | 0.10 | 0.18 |
| StraightenTwoRopesSequential-v1 | level2_from_level3 | deformable/single_arm_gripper | 0.08 | 0.12 |
| RollingPin-v1 | level2_from_level3 | deformable/single_arm_dex | 0.06 | 0.38 |
| ScoopWater-v1 | level2_from_level3 | deformable/single_arm_gripper | 0.06 | 0.26 |
| OpenBoxRetrieval-v1 | level2_from_level3 | rigid_body/single_arm_gripper | 0.04 | 0.04 |
| DualArmBookPickPlace-v1 | level2_from_level3 | rigid_body/dual_arm_gripper | 0.00 | 0.00 |
| DualArmCleanupPotEnv-v1 | level2_from_level3 | rigid_body/dual_arm_gripper | 0.00 | 0.00 |
| DualArmOpenBottle-v1 | level2_from_level3 | rigid_body/dual_arm_dex | 0.00 | 0.00 |
| DualArmPouringTwoCups-v1 | level2_from_level3 | deformable/dual_arm_dex | 0.00 | 0.00 |
| DualArmPushObject-v1 | level2_from_level3 | deformable/dual_arm_gripper | 0.00 | 0.00 |
| KitAssembly-v1 | level2_from_level3 | rigid_body/single_arm_gripper | 0.00 | 0.00 |