White-lid ACT

Robot policy trained to move the white lid onto the black tray. This branch contains 20,000 optimizer steps. The default branch contains 20,000 steps; step count alone does not establish better robot performance.

Operator trials showed approach behavior but unreliable gripper closure. No standardized physical success evaluation or success-rate denominator has been collected. These are experimental checkpoints.

Checkpoints

Training steps Branch
5,000 step-005000
10,000 step-010000
15,000 step-015000
20,000 step-020000

Each branch is a complete loadable checkpoint including model weights, pre/postprocessing configuration, and normalization statistics.

Training provenance

  • Dataset: vibecodemaster/white-lid, revision c739fd7d35733047b1a592f2b3597b9923bacb7d.
  • Cleaned dataset: 59 episodes / 17,066 frames at 20 Hz.
  • Train: episodes 0–52, 15,522 frames. Held out: episodes 53–58, 1,544 frames.
  • Frozen dataset-manifest SHA-256: fc105bebb44dbf6723862e34998646aa0d9e0b5d299b93f4a56b9fa208aecc0c.
  • LeRobot source commit: 30074f7f1358b3c015ae1750017200e86e9c4eb6. See train_config.json for the recorded recipe.
  • Batch size 64, BF16 mixed precision. Trained on an RTX PRO 6000 Blackwell Max-Q using a ResNet18 ImageNet-pretrained vision backbone.

Inputs and outputs

Two RGB views, observation.images.camera_0 and observation.images.camera_1, each shaped 3 × 224 × 398 with pixels in [0, 1], and an eight-component observation.state. Joint order is motor_1.pos through motor_8.pos. The first seven joint positions use calibrated [-100, 100] units; the final gripper dimension uses calibrated [0, 100]. Actions are absolute follower goals in that same order and calibration, not deltas or radians.

Action chunk: 100 steps. The task string is move the white lid onto the black tray.

Loading

Use the recorded LeRobot source commit; these checkpoints use the newer processor API and were not validated with LeRobot 0.4.4.

from huggingface_hub import snapshot_download
from lerobot.policies.act.modeling_act import ACTPolicy
from lerobot.policies.factory import make_pre_post_processors

path = snapshot_download("vibecodemaster/white-lid-act", revision="main")
policy = ACTPolicy.from_pretrained(path).to("cuda").eval()
preprocess, postprocess = make_pre_post_processors(
    policy.config,
    pretrained_path=path,
    preprocessor_overrides={"device_processor": {"device": "cuda"}},
)

For another checkpoint, set revision="step-005000", for example. Apply the bundled processors when predicting; unnormalized model outputs are not calibrated motor commands. Live execution also requires the original camera mapping, motor calibration, and controller protections.

Evaluation artifacts

evaluation/offline_diagnostic.json records 24 teacher-forced observations across all six held-out episodes, with fixed sampling noise for SmolVLA. It includes valid action-step/component denominators and hold-state comparisons. This is an offline diagnostic, not a robot success metric.

Packaging

publication_manifest.json records the original tensor hashes and packaging changes. Model tensors are copied without modification. Host-specific SmolVLA backbone paths were replaced by the public model identifier and backbone weight initialization disabled because the complete fine-tuned weights are included. Training configuration is retained as provenance. Upstream license text and attribution are included in UPSTREAM_LICENSES/.

Downloads last month
26
Safetensors
Model size
51.7M params
Tensor type
F32
·
Video Preview
loading

Dataset used to train vibecodemaster/white-lid-act