MCPcopy Create free account
hub / github.com/allenai/molmoact2

github.com/allenai/molmoact2 @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
10,100 symbols 42,394 edges 689 files ⚖ Apache-2.0 3,770 documented · 37% updated 5d ago★ 7225 open issues

Browse by type

Functions 8,779 Types & classes 1,280 Endpoints 41
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MolmoAct2 Logo

MolmoAct2: Action Reasoning Models for Real-world Deployment

GitHub License Blog Post Paper URL Base Models Finetuned Models MolmoAct2-BimanualYAM Dataset Robotics Datasets ER Datasets 1st VLA on MolmoSpace

MolmoAct2 is Ai2's open family of action reasoning models for robot control and real-world deployment. It builds on the Molmo2-ER embodied-reasoning vision-language backbone, adds robot state and action modeling, and connects the VLM to a flow-matching continuous action expert for closed-loop manipulation. The release includes base checkpoints for continued training, fine-tuned robot policies for evaluation and deployment, and the datasets used to build MolmoAct2 and Molmo2-ER.


Updates

  • [2026/08/22] 🔥 We fixed some finetuning issues in LeRobot's MolmoAct2 training scripts: huggingface/lerobot.
  • [2026/06/13] 🔥 We have released pre-training and post-training code and full experimental details for MolmoAct2, get started Here.
  • [2026/06/10] 🔥 We have setup zero-shot evaluation for MolmoAct2 (DROID and Bimanual YAM) on Maniskill simulation, get started Here.
  • [2026/05/28] 🔥 MolmoAct2 has been fully integrated into Huggingface, LeRobot official repo at MolmoAct2.
  • [2026/05/19] 🔥 We've also released MolmoAct2-Cortex evaluation rollouts on YAM bimanual setups (useful for failure annotation and reward model training) at Policy Rollouts.
  • [2026/05/17] 🔥 We have released FastAPI inference servers for MolmoAct2 using DROID and YAM setups at Inference Servers (implemented by Jie Wang).
  • [2026/05/14] 🔥 We have released MolmoAct2 lerobot workflow for fine-tuning and inference. Check it out.
  • [2025/05/06] 🔥 Detail implementation and setup for Franka, SO-100/101, and bimanual YAM have been released at Real-world Deployment.
  • [2026/05/05] 🔥 MolmoAct2 has been released!

Intel XPU Support

MolmoAct2 inference has been validated on Intel XPU (Intel GPUs) and runs without any code changes to this repository. Install a PyTorch build with Intel XPU support and select the xpu device at runtime.

1. Models

Base Models

We provide base checkpoints at every training stage for continued MolmoAct2 training and robot fine-tuning. These are foundation checkpoints rather than one-size-fits-all deployment policies.

Model Use Case Description Checkpoint Path
MolmoAct2 Fine-tuning Post-trained MolmoAct2 model with a continuous flow-matching action expert. Use as the default foundation checkpoint for adapting to a target robot embodiment or benchmark. https://huggingface.co/allenai/MolmoAct2
MolmoAct2-Think Fine-tuning MolmoAct2 foundation checkpoint with depth-token reasoning. Use when downstream policies should reason over compact depth predictions before acting. https://huggingface.co/allenai/MolmoAct2-Think
MolmoAct2-Pretrain Post-training Pre-trained discrete autoregressive VLA backbone before the continuous action expert is attached. Intended for continuing MolmoAct2 training stages, not direct continuous-control inference. https://huggingface.co/allenai/MolmoAct2-Pretrain
Molmo2-ER Pre-training Embodied-reasoning VLM backbone used as the starting point for MolmoAct2 action models. https://huggingface.co/allenai/Molmo2-ER

Finetuned Models

We also provide fine-tuned checkpoints for common robot platforms and benchmarks. These models are intended to run directly in their target setting, or to serve as a stronger starting point for closely related robots. As with any robot policy, performance depends on hardware, cameras, calibration, action conventions, and language/task distribution.

Model Use Case Description Checkpoint Path
MolmoAct2-DROID Inference / Fine-tuning MolmoAct2 fine-tuned on the filtered DROID Franka mixture with absolute joint-pose control. Intended for DROID-style policy inference or further fine-tuning. https://huggingface.co/allenai/MolmoAct2-DROID
MolmoAct2-BimanualYAM Inference / Fine-tuning MolmoAct2 fine-tuned on the bimanual YAM mixture with absolute joint-pose control and annotated language instructions. https://huggingface.co/allenai/MolmoAct2-BimanualYAM
MolmoAct2-SO100_101 Inference / Fine-tuning MolmoAct2 fine-tuned on SO-100/SO-101 datasets with absolute joint-pose control and annotated language instructions. https://huggingface.co/allenai/MolmoAct2-SO100_101
MolmoAct2-LIBERO Inference / Fine-tuning MolmoAct2 fine-tuned on the full LIBERO training mixture, combining Spatial, Object, Goal, and Long suites. https://huggingface.co/allenai/MolmoAct2-LIBERO
MolmoAct2-Think-LIBERO Inference / Fine-tuning MolmoAct2-Think fine-tuned on LIBERO with depth-and-action examples and adaptive depth reasoning. https://huggingface.co/allenai/MolmoAct2-Think-LIBERO

2. Datasets

Data Description Dataset Path
MolmoAct2-BimanualYAM Dataset Collection of bimanual YAM datasets and related resources used for MolmoAct2 bimanual training and evaluation. https://huggingface.co/collections/allenai/molmoact2-bimanualyam-dataset-69f81e17b140ec34f430a35e
MolmoAct2 Robotics Datasets Robotics datasets for MolmoAct2 training and fine-tuning, including SO-100/SO-101, DROID, MolmoAct Dataset, BC-Z, Bridge, and RT-1. https://huggingface.co/collections/allenai/molmoact2-datasets-69f81e316ec3daafe3f9555c
Molmo2-ER Datasets Embodied reasoning datasets used for Molmo2-ER and MolmoAct2 backbone training, including spatial, 3D, robotics, and visual reasoning data. https://huggingface.co/collections/allenai/molmo2-er-datasets-69f8d605d92d46a5fc24ced2

Note that all of the robotics datasets for pre-training and post-training are in LeRobot v3.0 format, paired with extra language annotations.

3. LeRobot Integration

MolmoAct2 is integrated into LeRobot as a policy implementation, so users can train, evaluate, and deploy MolmoAct2 with standard LeRobot datasets and workflows. This repository includes the LeRobot integration as a Git submodule at lerobot/, pinned to the branch allenai/lerobot:molmoact2-policy.

For training, although all of our experiments start from the base checkpoint allenai/MolmoAct2, we recommend starting from the fine-tuned checkpoints listed in the Finetuned Models section above if your embodiment is similar to Bimanual YAM, DROID Franka, or SO-100/SO-101, as they can provide better initialization and downstream performance. For generic use, use the base checkpoint.

After cloning this repository, initialize the submodule from the repo root:

git submodule update --init --recursive
cd lerobot

For training, evaluation, and deployment instructions, see the MolmoAct2 LeRobot documentation at docs/source/molmoact2.mdx. To reproduce the original LIBERO benchmark results exactly with the v0.5.1 evaluation stack, use the pinned inference branch allenai/lerobot:molmoact2-hf-inference with instructions in MolmoAct2 README.

We also open-source the original MolmoAct2 experiment scripts under experiments/. These cover training and evaluation replication, depth annotation, Hugging Face checkpoint conversion, and fine-tuning on new LeRobot datasets. See experiments/README.md for setup and commands.

4. Real-world Deployment

[!WARNING] Disclaimer: Out-of-the-box deployment is intended for simple tasks within the training task distribution (e.g., Pick-and-Place, opening, closing and etc). Performance has only been empirically verified on the SO-100 and Franka DROID embodiments. Results on other embodiments and tasks are not guaranteed.

MolmoAct2 supports out-of-the-box deployment on three robot embodiments:

  • SO-100
  • Bimanual YAMs
  • Franka DROID setup

SO-100/101 Setup

For the best performance, we recommend using an SO-100 with the standard wrist configuration and a third-person camera. Here is an open implementation by Irene Grace. Code

Bimanual YAM Setup

For the best performance, please build your Bimanual YAM setup following the reference design below:

Bimanual YAM setup

All required components can be purchased using this Bimanual YAM parts list.

Implementation code for setting up, data collection, and inference for Bimanual YAM is here

Standardize evaluation implementation for zero-shot by Cortex AI here

Franka Setup

For the Franka setup, we recommend following the official DROID implementation for best results.

5. Inference Servers

This repository ships two FastAPI inference servers under examples/, one per fine-tuned checkpoint. Each server exposes the same /act wire protocol — json_numpy-encoded request/response — but with an embodiment-specific schema (camera count, state dimension, normalisation tag).

Server Checkpoint Default port State dim Cameras
examples/droid/host_server_droid.py allenai/MolmoAct2-DROID 8000 (8,) = [q1..q7, gripper] external, wrist
examples/yam/host_server_yam.py allenai/MolmoAct2-BimanualYAM 8202 (14,) (per-arm 7-D × 2 arms) top, left, right (order matters)

1. Install uv

curl -LsSf https://astral.sh/uv/install.sh | sh
exec $SHELL          # reload PATH so the `uv` binary is picked up
uv --version

2. Create the project environment

The pinned dependencies (CUDA-12.8 PyTorch wheels, transformers, fastapi, json-numpy, …) live in pyproject.toml. CUDA 12.8 supports Blackwell GPUs, including RTX 50-series cards; it requires NVIDIA driver 570.26 or newer on Linux and 570.65 or newer on Windows. The CUDA toolkit itself does not need to be installed separately because the PyTorch wheels include the CUDA runtime.

From the repo root:

uv sync                  # creates .venv/ and installs all deps
uv run python -c "import torch, torchvision; print(torch.__version__, torchvision.__version__, torch.version.cuda, torch.cuda.is_available(), torch.cuda.get_device_name(0), torch.cuda.get_device_capability(0), torch.cuda.get_arch_list())"
# expected: torch 2.11.0+cu128, torchvision 0.26.0+cu128, CUDA 12.8, and your GPU

The project supports Python 3.11 and 3.12; uv selects a compatible interpreter and downloads one if needed. Re-run uv sync after pulling new commits.

For an RTX 50-series GPU, confirm that the final architecture list contains sm_120. If inference fails with `

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 5,152
Function 3,627
Class 1,280
Route 41

Languages

Python100%

Modules by API surface

experiments/olmo/data/video_datasets.py296 symbols
experiments/olmo/hf_model/modeling_molmoact2.py224 symbols
experiments/lerobot/tests/processor/test_pipeline.py181 symbols
experiments/olmo/eval/evaluators.py160 symbols
experiments/olmo/data/academic_datasets.py158 symbols
experiments/lerobot/src/lerobot/motors/motors_bus.py150 symbols
experiments/lerobot/src/lerobot/policies/xvla/modeling_florence2.py125 symbols
experiments/olmo/nn/llm.py119 symbols
experiments/olmo/data/lerobot_wrapper.py110 symbols
experiments/olmo/data/pixmo_datasets.py108 symbols
experiments/lerobot/src/lerobot/policies/wall_x/qwen_model/qwen2_5_vl_moe.py103 symbols
experiments/olmo/train/trainer.py98 symbols

For agents

$ claude mcp add molmoact2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page