Instructions to use 2chan/beverage-multi-task-dit-20261105-10k with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use 2chan/beverage-multi-task-dit-20261105-10k with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Beverage Multi-Task DiT: stirring, inference normalization repair
LeRobot 0.6.1 multi_task_dit checkpoint, trained for 10,000 steps on the
stirring task only. The architecture supports multiple tasks; this checkpoint
was trained only for Stir the mixture in the cup with the muddler.
Repair
The original training observation for left gripper (state index 5) was constant
at 0.8541793823242188. Its MIN_MAX range was zero, causing the original
normalizer to divide a live input deviation by 1e-8.
This export increases only that observation state's normalization span to 100, matching the scale of the SO101 gripper percentage input. The original training value still maps to -1. Model weights, other observation dimensions, and action unnormalization are unchanged. No additional training was performed.
In an offline single-observation test with the same sampling seed, a gripper input perturbation of 0.001 changed one original arm command by about 179.77 degrees. With the repair, the maximum command change was below 0.00001 degrees. This test establishes a numerical improvement, not successful robot deployment. Existing policy tracking errors remain; hardware execution has not been verified.
Loading
Load both the policy and its saved processors from this repository. Recreating processors from the original dataset statistics would discard the repair.
from lerobot.policies.multi_task_dit.modeling_multi_task_dit import MultiTaskDiTPolicy
from lerobot.policies.factory import make_pre_post_processors
repo_id = "2chan/beverage-multi-task-dit-20261105-10k"
policy = MultiTaskDiTPolicy.from_pretrained(repo_id).eval()
preprocessor, postprocessor = make_pre_post_processors(
policy.config, pretrained_path=repo_id
)
policy.reset()
# For each live observation:
# batch = preprocessor(observation)
# action = postprocessor(policy.select_action(batch))
Requires LeRobot 0.6.1 with multi_task_dit dependencies and the configured
CLIP encoders/tokenizer (openai/clip-vit-base-patch16).
Input and output contract
- State and action: 12 dimensions, left arm followed by right arm.
- Per arm: shoulder_pan, shoulder_lift, elbow_flex, wrist_flex, wrist_roll, gripper.
- Body joints use degrees; gripper uses its percentage scale. Match the recording calibration and coordinate conventions when deploying.
- Action values are absolute joint position targets.
- RGB cameras:
observation.images.left_wrist,observation.images.right_wrist,observation.images.top, each 3x480x640. - Observation history: 2 frames; action horizon: 32; queued action steps: 24.
- This is an inference export, not a resumable training checkpoint.
- Downloads last month
- 47