Views
No views yet
front 256x256, wrist 128x128), 2-step observation
history, 4-action chunk from a diffusion head (20 DDPM steps). No proprioception —
Octo-1.5 has no state tokenizer, so observation.state is not consumed.octo policy registered (policy.type == "octo").
The frozen google-t5/t5-base encoder is not stored here — it is downloaded from the Hub
when the policy is instantiated, which is why this repo is 104 MB rather than ~550 MB.1# 1. Convert the released JAX checkpoint to LeRobot (once)
2lerobot-convert-octo \
3 --checkpoint hf://rail-berkeley/octo-small-1.5 \
4 --output outputs/octo_small_1.5 \
5 --image-key primary=observation.images.front \
6 --image-key wrist=observation.images.wrist
7
8# 2. Finetune
9lerobot-train \
10 --dataset.repo_id=khanhnd61/so101-tape_20260804_224429 \
11 --policy.path=outputs/octo_small_1.5 \
12 --policy.device=cuda \
13 --policy.push_to_hub=false \
14 --steps=20000 \
15 --batch_size=16 \
16 --num_workers=8 \
17 --log_freq=100 \
18 --save_freq=5000 \
19 --seed=1000 \
20 --wandb.enable=false \
21 --output_dir=outputs/train/octo_so101_tapereverse_network.linear1.weight, linear2.weight and
linear2.bias are re-initialized on load — expected, everything else loads strictly.| step | 100 | 1,000 | 5,000 | 10,000 | 15,000 | 20,000 |
|---|---|---|---|---|---|---|
| loss | 5.645 | 0.991 | 0.349 | 0.169 | 0.065 | 0.028 |
per-joint MAE : [0.558 1.937 1.481 0.755 0.456 0.293]
per-joint |gt|: [51.9 53.1 51.2 60.3 147.3 4.2 ]
overall MAE : 0.9133 (1.49% of mean |action|)1lerobot-rollout \
2 --strategy.type=base \
3 --policy.path=khanhnd61/octo_so101_tape \
4 --robot.type=so101_follower \
5 --robot.port=/dev/ttyACM0 \
6 --robot.id=my_awesome_follower_arm \
7 --robot.cameras="{front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}" \
8 --task="Put the tape into the box" \
9 --duration=60--rename_map: front/wrist are baked into the checkpoint's image_keys.
Keep --task byte-identical to the recorded task — Octo conditions on it.n_action_steps
cannot exceed chunk_size=4 without retraining. CPU inference does not keep up.