Views
No views yet
lerobot/diffusion_pusht on a
custom 101-episode PushT-with-obstacles dataset (legacy obstacle preset:
circle radius=15, 1-3 obstacles per episode).| File | Source run | Pipeline | Best success (n=50) | Best hit | Step |
|---|---|---|---|---|---|
lerobot_run3.5_best.pt | jid2238141 | fixed | 0.62 | 0.12 | 44000 |
lerobot_run3.5_final.pt | jid2238141 | fixed | 0.62 (final eval) | 0.12 | 50000 |
lerobot_run2_best.pt | jid2235676 | broken (pre-fix) | 0.60 | 0.22 | 38000 |
diffusers.get_scheduler('cosine'))
that the original code accidentally bypassed by constructing LeRobotDataset
outside make_dataset().push_t/doc/ft_jid2237070_2238141.md
for the full eval timeline (25 evals across 50k training steps), phase analysis, and
A/B comparison vs the broken-pipeline run.lerobot_run3.5_best.pt — default; best success and lowest obstacle-hit rate.lerobot_run3.5_final.pt — only for resume training. Same model performance
as best.pt (62% at both step 44k and step 50k); carries end-of-cosine-schedule state.lerobot_run2_best.pt — A/B reference. Trained with the buggy pre-fix pipeline,
useful for ablations.stats arrays, so PyTorch 2.6+ requires weights_only=False:1import torch
2from huggingface_hub import hf_hub_download
3
4ckpt_path = hf_hub_download(
5 repo_id="zengxy0624/pusht-obstacles-lerobot-finetune",
6 filename="lerobot_run3.5_best.pt",
7)
8ckpt = torch.load(ckpt_path, map_location="cpu", weights_only=False)
9
10print(ckpt.keys()) # ['model', 'model_cfg', 'stats', 'success']
11print(ckpt["success"]) # 0.62
12print(ckpt["model_cfg"]) # full DiffusionConfig dict (ResNet-18 + GroupNorm + 96x96)push_t/test.py from the source repo, which handles the
processor pipeline (ImageNet stats override, deterministic cudnn) correctly.lerobot/diffusion_pusht (ImageNet-pretrained ResNet-18 backbone,
GroupNorm, spatial-softmax 32 keypoints, U-Net 1D, DDPM 100 timesteps)mixed preset (rectangles, triangles, walls) without retraining.