chunked_policy_robomimic checkpoints

Diffusion Policy (UNet) trained on the robomimic ph datasets with absolute actions (*_vision_abs task configs), seed 42, batch size 64, action chunking with horizon 16, 2 observation steps and 8 executed actions, with two vision encoders:

  • diffusion_unet_vision/: ResNet18 + spatial softmax robomimic encoder (the paper's vision setup).
  • diffusion_unet_vision_vit/: MinVit encoder from IBRL with IBRL's robomimic settings (embed_style: embed2, depth: 1, embed_dim: 128, num_head: 4), one ViT per camera, patch tokens flattened and projected to 64 features. Everything else is identical.

Contents

diffusion_unet_vision[_vit]/<task>_ph_seed42/
  checkpoints/epoch=XXXX-test_mean_score=Y.ckpt   # 2 best checkpoints by test success rate
  checkpoints/latest.ckpt                         # last checkpoint
  .hydra/                                         # full resolved config + command-line overrides
  logs.json.txt                                   # per-step training log

Each checkpoint (~4.6 GB with ResNet, ~4.1 GB with ViT) holds the raw model, the EMA model and the optimizer state, so it can be used for evaluation (use ema_model; it is the policy the rollouts evaluate) or to resume training.

Results

Test success rate over 50 rollouts (EMA policy), evaluated every 50 epochs.

ResNet encoder (diffusion_unet_vision/)

task epochs trained gradient steps best test success
lift 309 (stopped early) 39k 1.00
can 301 100.8k 1.00
square 601 264.4k 0.98
tool_hang 201 290.6k 0.82 (0.80 at the last epoch)

ViT encoder (diffusion_unet_vision_vit/)

task epochs trained gradient steps best test success
lift 351 44.6k 1.00 (1.00 at the last epoch)
can 351 117.6k 0.98 (0.94 at the last epoch)
square 601 264.4k 0.86 (0.82 at the last epoch)
tool_hang 151 218.3k 0.68 (0.50 at the last epoch)
transport 151 213.7k 0.94 (0.94 at the last epoch)

ResNet transport will be added when its training finishes.

Loading

import torch, dill, hydra

payload = torch.load("latest.ckpt", map_location="cpu", pickle_module=dill)
cfg = payload["cfg"]
workspace = hydra.utils.get_class(cfg._target_)(cfg)
workspace.load_payload(payload)
policy = workspace.ema_model   # or workspace.model
policy.eval()

This requires the chunked_policy package from the training code.

Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading