---
datasets:
- lichtphyz/so101_block_to_bin_v3
library_name: lerobot
license: apache-2.0
model_name: diffusion
pipeline_tag: robotics
tags:
- lerobot
- robotics
- diffusion
- so101
---
# Diffusion Policy ablation: SO-101 block to bin, without hue and sharpness augmentation
An ablation of [lichtphyz/diffusion_v3_desktop](https://huggingface.co/lichtphyz/diffusion_v3_desktop): the same
[Diffusion Policy](https://huggingface.co/papers/2303.04137), data and settings, but without the two slowest image
augmentations (hue and sharpness). Those two took most of the data-loading time, so this run trained in 5 h 13 min
instead of 11 h 20 min, with the same final training loss (0.003). It keeps brightness, contrast and saturation
jitter and a small random affine transform.
Part of the [SO-101 block-to-bin collection](https://huggingface.co/collections/lichtphyz/so-101-block-to-bin-act-vs-diffusion-policy-6ad6ca5c5e111b426bb1f8a6) (models, training data and real-robot evaluations).
Code, training commands and lessons learned: [github.com/Lichtphyz/so101-block-to-bin](https://github.com/Lichtphyz/so101-block-to-bin).
> **Not evaluated on the real robot.** For a tested model, use
> [lichtphyz/diffusion_v3_desktop](https://huggingface.co/lichtphyz/diffusion_v3_desktop) (8/10). Run this one the
> same way (DDIM, 5 denoising steps).
Trained with [LeRobot](https://github.com/huggingface/lerobot); the training command is in
[docs/training.md](https://github.com/Lichtphyz/so101-block-to-bin/blob/main/docs/training.md).
---
## Model Details
- **License:** apache-2.0
- **Robot type:** `so_follower`
- **Cameras:** `front`, `wrist`
## Inputs & Outputs
The policy consumes these observation features and produces these action features.
**Inputs**
| Feature | Type | Shape |
| --- | --- | --- |
| `observation.state` | STATE | `(6,)` |
| `observation.images.front` | VISUAL | `(3, 480, 640)` |
| `observation.images.wrist` | VISUAL | `(3, 480, 640)` |
**Outputs**
| Feature | Type | Shape |
| --- | --- | --- |
| `action` | ACTION | `(6,)` |
## Training Dataset
- **Repository:** [lichtphyz/so101_block_to_bin_v3](https://huggingface.co/datasets/lichtphyz/so101_block_to_bin_v3)
- **Episodes:** 125
- **Frames:** 55677
- **Frame rate:** 30 FPS
- **Task(s):** "Put the block in the bin."
## Training Configuration
| Setting | Value |
| --- | --- |
| Training steps | 60000 |
| Batch size | 32 |
| Optimizer | adam |
| Learning rate | 0.0001 |
| Seed | 1000 |
| LeRobot version | 0.6.2 |
---
## How to Get Started with the Model
New to LeRobot? These guides cover the full workflow:
- **[Install LeRobot](https://huggingface.co/docs/lerobot/main/en/installation)** — set up the `lerobot` package.
- **[Hardware setup](https://huggingface.co/docs/lerobot/main/en/hardware_guide)** — assemble, wire, and calibrate your robot and cameras.
- **[Record data & train a policy](https://huggingface.co/docs/lerobot/en/il_robots)** — the end-to-end imitation-learning walkthrough.
- **[CLI cheat-sheet](https://huggingface.co/docs/lerobot/main/en/cheat-sheet)** — quick reference for the `lerobot-*` commands.
The short version to run and train this policy:
### Run the policy on your robot
```bash
lerobot-rollout \
--strategy.type=base \
--robot.type=so_follower \
--robot.port= \
--robot.cameras="{ : {type: opencv, index_or_path: , width: 640, height: 480, fps: 30}, : {type: opencv, index_or_path: , width: 640, height: 480, fps: 30}}" \
--policy.path=lichtphyz/diffusion_v3_desktop_skip_hue_sharpness \
--task="Put the block in the bin." \
--duration=60
```
Replace the remaining `<...>` placeholders with your own values: `--robot.port` and the camera names/indices are specific to your machine, and the camera names must match the observation keys this policy was trained on.
When `--strategy.type=base` is used the script doesn't record the episodes. Skipping duration will make the policy run indefinitely. For more information look at [rollout documentation](https://huggingface.co/docs/lerobot/main/en/inference).
### Train your own policy
```bash
lerobot-train \
--dataset.repo_id=${HF_USER}/ \
--policy.type=diffusion \
--output_dir=outputs/train/ \
--job_name=lerobot_training \
--policy.device=cuda \
--policy.repo_id=${HF_USER}/ \
--wandb.enable=true
```
_Writes checkpoints to `outputs/train//checkpoints/`._
---
## Evaluation
_No evaluation results have been provided for this policy yet._
---
## Citation
If you use this policy, please cite the method linked in the description above, along with LeRobot:
```bibtex
@misc{cadene2024lerobot,
author = {Cadene, Remi and Alibert, Simon and Soare, Alexander and Gallouedec, Quentin and Zouitine, Adil and Palma, Steven and Kooijmans, Pepijn and Aractingi, Michel and Shukor, Mustafa and Aubakirova, Dana and Russi, Martino and Capuano, Francesco and Pascal, Caroline and Choghari, Jade and Moss, Jess and Wolf, Thomas},
title = {LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch},
howpublished = "\url{https://github.com/huggingface/lerobot}",
year = {2024}
}
```