Skip to page content
SAVRN
Search Plan a project

Open-weight model · Robotics

so101ball_diffusion_trimmed_S025_seed1

by Simon Cowling fysical/so101ball_diffusion_trimmed_S025_seed1

so101ball_diffusion_trimmed_S025_seed1 is an open-weight model for robotics from Simon Cowling, released under Apache License 2.0. It has 278M parameters. At 16-bit it needs about 0.7 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation. This policy has been trained and pushed to the Hub using LeRobot.

Parameters278M
Context—
Weights34.5 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve so101ball_diffusion_trimmed_S025_seed1 (278M parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 0.6 GB 0.7 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 0.3 GB 0.3 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 0.1 GB 0.2 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.

so101ball_diffusion_trimmed_S025_seed1 on every accelerator the SAVRN Index prices, at every precision

Model Card

By Simon Cowling, published under apache-2.0, revision 25cd9035dcac.

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation. This policy has been trained and pushed to the Hub using LeRobot. See the full LeRobot documentation. The policy consumes these observation features and produces these action features. Inputs Outputs New to LeRobot? These guides cover the full workflow: - Install LeRobot — set up the lerobot package. - Hardware setup — assemble, wire, and calibrate your robot and cameras. - Record data & train a policy — the end-to-end imitation-learning walkthrough. - CLI cheat-sheet — quick reference for the lerobot- commands. The short…

Read Simon Cowling's full model card

Model Card for diffusion

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation.

This policy has been trained and pushed to the Hub using LeRobot.

See the full LeRobot documentation.


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: fysical/greenball_pool_225_v1_trimmed
  • Episodes: 225
  • Frames: 95940
  • Frame rate: 30 FPS
  • Task(s): "Pick up the green ball and place it in the basket, ignoring the two red distractor balls"

Training Configuration

Setting Value
Training steps 100000
Batch size 64
Optimizer adam
Learning rate 0.0001
Seed 1
LeRobot version 0.6.2

How to Get Started with the Model

New to LeRobot? These guides cover the full workflow:

The short version to run and train this policy:

Run the policy on your robot

lerobot-rollout \
  --strategy.type=base \
  --robot.type=so_follower \
  --robot.port=<your_robot_port> \
  --robot.cameras="{ <camera_1>: {type: opencv, index_or_path: <index_or_path>, width: 640, height: 480, fps: 30}, <camera_2>: {type: opencv, index_or_path: <index_or_path>, width: 640, height: 480, fps: 30}}" \
  --policy.path=fysical/so101ball_diffusion_trimmed_S025_seed1 \
  --task="Pick up the green ball and place it in the basket, ignoring the two red distractor balls" \
  --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.

Train your own policy

lerobot-train \
  --dataset.repo_id=${HF_USER}/<dataset> \
  --policy.type=diffusion \
  --output_dir=outputs/train/<policy_repo_id> \
  --job_name=lerobot_training \
  --policy.device=cuda \
  --policy.repo_id=${HF_USER}/<policy_repo_id> \
  --wandb.enable=true

Writes checkpoints to outputs/train/<policy_repo_id>/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:

@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}
}

Identity and Version

Repository
fysical/so101ball_diffusion_trimmed_S025_seed1
Publisher
Simon Cowling
Task
Robotics
Modality
Control
Library
lerobot
Parameters
278M parameters
Languages
Not stated by the source
Revision
25cd9035dcaca3b6129025891e3abbc8c8da8143
First published
2026-10-06
Last updated
2026-10-07

Files and Weights

129 files, 34.5 GB in total. The weights are 53 files totalling 34.5 GB in safetensors.

Weights53 files · 34.5 GB
Configuration74 files · 202.7 KB
Documentation1 file · 5.7 KB
Repository1 file · 1.5 KB
Every file
FileTypeSizeSHA-256
checkpoints/010000/pretrained_model/model.safetensorsWeights1.1 GB d158b64bd122
checkpoints/010000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/010000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/010000/training_state/optimizer_state.safetensorsWeights2.2 GB 6404c1ecce33
checkpoints/010000/training_state/rng_state.safetensorsWeights15.7 KB 8b480ae84faa
checkpoints/020000/pretrained_model/model.safetensorsWeights1.1 GB 7f918ad2580c
checkpoints/020000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/020000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/020000/training_state/optimizer_state.safetensorsWeights2.2 GB a7893a55fc50
checkpoints/020000/training_state/rng_state.safetensorsWeights15.7 KB 0fbf3d82737c
checkpoints/030000/pretrained_model/model.safetensorsWeights1.1 GB 53069ba5b41c
checkpoints/030000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/030000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/030000/training_state/optimizer_state.safetensorsWeights2.2 GB c61320777530
checkpoints/030000/training_state/rng_state.safetensorsWeights15.7 KB ed0f33dc335b
checkpoints/040000/pretrained_model/model.safetensorsWeights1.1 GB 6c9b70ce5701
checkpoints/040000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/040000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/040000/training_state/optimizer_state.safetensorsWeights2.2 GB 5aba68bf8574
checkpoints/040000/training_state/rng_state.safetensorsWeights15.7 KB a1f5b3c5a7d5
checkpoints/050000/pretrained_model/model.safetensorsWeights1.1 GB 580688d3dc00
checkpoints/050000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/050000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/050000/training_state/optimizer_state.safetensorsWeights2.2 GB 2c04728aecd1
checkpoints/050000/training_state/rng_state.safetensorsWeights15.7 KB 896ada911128
checkpoints/060000/pretrained_model/model.safetensorsWeights1.1 GB e81c3a27fb19
checkpoints/060000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/060000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/060000/training_state/optimizer_state.safetensorsWeights2.2 GB ccef1e4e7fd7
checkpoints/060000/training_state/rng_state.safetensorsWeights15.7 KB 93203db34995
checkpoints/070000/pretrained_model/model.safetensorsWeights1.1 GB 42290ca408a9
checkpoints/070000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/070000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/070000/training_state/optimizer_state.safetensorsWeights2.2 GB 0aa62f99eaed
checkpoints/070000/training_state/rng_state.safetensorsWeights15.7 KB 1afe5622240d
checkpoints/080000/pretrained_model/model.safetensorsWeights1.1 GB a77694cda146
checkpoints/080000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/080000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/080000/training_state/optimizer_state.safetensorsWeights2.2 GB 3b578b354b31
checkpoints/080000/training_state/rng_state.safetensorsWeights15.7 KB 74d814834561
checkpoints/090000/pretrained_model/model.safetensorsWeights1.1 GB a2dc0721b62a
checkpoints/090000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/090000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/090000/training_state/optimizer_state.safetensorsWeights2.2 GB 6e5ebf4df502
checkpoints/090000/training_state/rng_state.safetensorsWeights15.7 KB d1fb248f34e4
checkpoints/100000/pretrained_model/model.safetensorsWeights1.1 GB ea37663f9a33
checkpoints/100000/pretrained_model/policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
checkpoints/100000/pretrained_model/policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/100000/training_state/optimizer_state.safetensorsWeights2.2 GB e88a2dce3116
checkpoints/100000/training_state/rng_state.safetensorsWeights15.7 KB 4534562998bd
model.safetensorsWeights1.1 GB ea37663f9a33
policy_postprocessor_step_0_unnormalizer_processor.safetensorsWeights7.6 KB 89d173ae2282
policy_preprocessor_step_3_normalizer_processor.safetensorsWeights7.6 KB 60f1f17d0edf
checkpoints/010000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/010000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/010000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/010000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/010000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/010000/training_state/scheduler_state.jsonConfiguration255 B —
checkpoints/010000/training_state/training_step.jsonConfiguration255 B —
checkpoints/020000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/020000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/020000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/020000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/020000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/020000/training_state/scheduler_state.jsonConfiguration255 B —
checkpoints/020000/training_state/training_step.jsonConfiguration255 B —
checkpoints/030000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/030000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/030000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/030000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/030000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/030000/training_state/scheduler_state.jsonConfiguration255 B —
checkpoints/030000/training_state/training_step.jsonConfiguration255 B —
checkpoints/040000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/040000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/040000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/040000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/040000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/040000/training_state/scheduler_state.jsonConfiguration255 B —
checkpoints/040000/training_state/training_step.jsonConfiguration255 B —
checkpoints/050000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/050000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/050000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/050000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/050000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/050000/training_state/scheduler_state.jsonConfiguration255 B —
checkpoints/050000/training_state/training_step.jsonConfiguration255 B —
checkpoints/060000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/060000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/060000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/060000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/060000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/060000/training_state/scheduler_state.jsonConfiguration255 B —
checkpoints/060000/training_state/training_step.jsonConfiguration255 B —
checkpoints/070000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/070000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/070000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/070000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/070000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/070000/training_state/scheduler_state.jsonConfiguration256 B —
checkpoints/070000/training_state/training_step.jsonConfiguration255 B —
checkpoints/080000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/080000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/080000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/080000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/080000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/080000/training_state/scheduler_state.jsonConfiguration255 B —
checkpoints/080000/training_state/training_step.jsonConfiguration255 B —
checkpoints/090000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/090000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/090000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/090000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/090000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/090000/training_state/scheduler_state.jsonConfiguration256 B —
checkpoints/090000/training_state/training_step.jsonConfiguration255 B —
checkpoints/100000/pretrained_model/config.jsonConfiguration2.4 KB —
checkpoints/100000/pretrained_model/policy_postprocessor.jsonConfiguration658 B —
checkpoints/100000/pretrained_model/policy_preprocessor.jsonConfiguration1.3 KB —
checkpoints/100000/pretrained_model/train_config.jsonConfiguration9.0 KB —
checkpoints/100000/training_state/optimizer_param_groups.jsonConfiguration5.0 KB —
checkpoints/100000/training_state/scheduler_state.jsonConfiguration239 B —
checkpoints/100000/training_state/training_step.jsonConfiguration256 B —
config.jsonConfiguration2.4 KB —
policy_postprocessor.jsonConfiguration658 B —
policy_preprocessor.jsonConfiguration1.3 KB —
train_config.jsonConfiguration9.0 KB —
README.mdDocumentation5.7 KB —
.gitattributesRepository1.5 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
34.5 GB
Download from Simon Cowling

Released by Simon Cowling through its official repository on Hugging Face. Read the license.

Built From

  • Described by arXiv:2303.04137
  • Trained on (disclosed) fysical/greenball_pool_225_v1_trimmed

Memory Requirements

PrecisionWeights in memory
As published34.5 GB
16-bit0.6 GB
8-bit0.3 GB
4-bit0.1 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About so101ball_diffusion_trimmed_S025_seed1

How much GPU memory does so101ball_diffusion_trimmed_S025_seed1 need?

About 0.7 GB at 16-bit and 0.2 GB at 4-bit: the weights (278M parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run so101ball_diffusion_trimmed_S025_seed1 on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use so101ball_diffusion_trimmed_S025_seed1 commercially?

Yes. so101ball_diffusion_trimmed_S025_seed1 is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation. This policy has been trained and pushed to the Hub using LeRobot. See the full LeRobot documentation. The policy consumes these observation features and produces these action features. Inputs Outputs New to LeRobot? These guides cover the full workflow: - Install LeRobot — set up the lerobot package. - Hardware setup — assemble, wire, and calibrate your robot and cameras. - Record data & train a policy — the end-to-end imitation-learning walkthrough. - CLI cheat-sheet — quick reference for the lerobot- commands. The short…

Open weights apache-2.0 278M parameters lerobot

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation. This policy has been trained and pushed to the Hub using LeRobot. See the full LeRobot documentation. The policy consumes these observation features and produces these action features. Inputs Outputs New to LeRobot? These guides cover the full workflow: - Install LeRobot — set up the lerobot package. - Hardware setup — assemble, wire, and calibrate your robot and cameras. - Record data & train a policy — the end-to-end imitation-learning walkthrough. - CLI cheat-sheet — quick reference for the lerobot- commands. The short…

Open weights apache-2.0 278M parameters lerobot

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation. This policy has been trained and pushed to the Hub using LeRobot. See the full LeRobot documentation. The policy consumes these observation features and produces these action features. Inputs Outputs New to LeRobot? These guides cover the full workflow: - Install LeRobot — set up the lerobot package. - Hardware setup — assemble, wire, and calibrate your robot and cameras. - Record data & train a policy — the end-to-end imitation-learning walkthrough. - CLI cheat-sheet — quick reference for the lerobot- commands. The short…

Open weights apache-2.0 278M parameters lerobot

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation. This policy has been trained and pushed to the Hub using LeRobot. See the full LeRobot documentation. The policy consumes these observation features and produces these action features. Inputs Outputs New to LeRobot? These guides cover the full workflow: - Install LeRobot — set up the lerobot package. - Hardware setup — assemble, wire, and calibrate your robot and cameras. - Record data & train a policy — the end-to-end imitation-learning walkthrough. - CLI cheat-sheet — quick reference for the lerobot- commands. The short…

Open weights apache-2.0 278M parameters lerobot

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation. This policy has been trained and pushed to the Hub using LeRobot. See the full LeRobot documentation. The policy consumes these observation features and produces these action features. Inputs Outputs New to LeRobot? These guides cover the full workflow: - Install LeRobot — set up the lerobot package. - Hardware setup — assemble, wire, and calibrate your robot and cameras. - Record data & train a policy — the end-to-end imitation-learning walkthrough. - CLI cheat-sheet — quick reference for the lerobot- commands. The short…

Open weights apache-2.0 278M parameters lerobot

Diffusion Policy treats visuomotor control as a generative diffusion process, producing smooth, multi-step action trajectories that excel at contact-rich manipulation. This policy has been trained and pushed to the Hub using LeRobot. See the full documentation at LeRobot Docs. For a complete walkthrough, see the training guide. Below is the short version on how to train and run inference/eval: Writes checkpoints to outputs/train/ /checkpoints/. Prefix the dataset repo with eval\ and supply --policy.path pointing to a local or hub checkpoint.

Open weights apache-2.0 266M parameters lerobot