Skip to main content

PhysicalAI Library

A library for training and deploying Vision-Language-Action policies for robotic imitation learning


Key Features • Installation • Training • Benchmark • Export • Inference • Docs


Introduction

PhysicalAI Library is a Python SDK for training, evaluating, and deploying Vision-Language-Action (VLA) policies. It provides implementations of imitation learning algorithms built on PyTorch Lightning, with a focus on robotic manipulation tasks. The library supports the full ML lifecycle: from training on demonstration data to deploying optimized models for real-time inference.

Key Features

  • Simple and modular API and CLI for training, inference, and benchmarking.
  • Built on Lightning for reduced boilerplate and distributed training support.
  • Export models to OpenVINO, ONNX, or Torch formats for accelerated inference.
  • Benchmark policies on standardized environments like LIBERO, PushT, and RoboCasa.
  • Unified inference API across all export backends.

Supported Policies

Policy Description Paper
ACT Action Chunking with Transformers Zhao et al. 2023
SmolVLA Lightweight vision-language-action model Cadene et al. 2024
Pi0.5 Vision-Language-Action Model with Open-World Generalization Black et al. 2025
RLDX-1 RLWRLD multi-embodiment flow-matching VLA RLDX-1

Installation

pip install physicalai-train
Prerequisites

PhysicalAI Library requires Python 3.12+.

FFMPEG is required as a dependency of LeRobot:

# Ubuntu
sudo apt-get install -y ffmpeg

# macOS
brew install ffmpeg
Install from Source (for development)
git clone https://github.com/open-edge-platform/physical-ai-studio.git
cd physical-ai-studio/library

# Create virtual environment and install
uv venv
source .venv/bin/activate

# Choose one matching your hardware:
uv sync --extra cpu --extra all     # CPU
# uv sync --extra cu128 --extra all # NVIDIA GPU (CUDA)
# uv sync --extra xpu --extra all   # Intel GPU (XPU)

Training

PhysicalAI supports both API and CLI-based training. Checkpoints are saved to experiments/lightning_logs/ by default.

API

from physicalai.data import LeRobotDataModule
from physicalai.policies import ACT
from physicalai.train import Trainer

# Initialize components
datamodule = LeRobotDataModule(repo_id="lerobot/aloha_sim_transfer_cube_human")
model = ACT()
trainer = Trainer(max_epochs=100)

# Train
trainer.fit(model=model, datamodule=datamodule)

CLI

# Train with config file
physicalai fit --config configs/physicalai/act/pusht/default.yaml

# Train with CLI arguments
physicalai fit \
    --model physicalai.policies.ACT \
    --data physicalai.data.LeRobotDataModule \
    --data.repo_id lerobot/aloha_sim_transfer_cube_human

# Override config values
physicalai fit \
    --config configs/physicalai/act/pusht/default.yaml \
    --trainer.max_epochs 200 \
    --data.train_batch_size 64

Benchmark

Evaluate trained policies on standardized simulation environments.

API

from physicalai.benchmark.gyms import LiberoBenchmark
from physicalai.policies import ACT

# Load trained policy (path from training output)
policy = ACT.load_from_checkpoint("experiments/lightning_logs/version_0/checkpoints/last.ckpt")
policy.eval()

# Run benchmark
benchmark = LiberoBenchmark(task_suite="libero_10", num_episodes=20)
results = benchmark.evaluate(policy)

# View results
print(results.summary())
results.to_json("results.json")

RoboCasa requires a dedicated virtual environment. Install it with bash library/scripts/benchmark/install_robocasa.sh, then swap in RoboCasaBenchmark:

from physicalai.benchmark.gyms import RoboCasaBenchmark

benchmark = RoboCasaBenchmark(task="atomic_seen", num_episodes=20)
results = benchmark.evaluate(policy)

CLI

# Basic benchmark
physicalai benchmark \
    --benchmark physicalai.benchmark.gyms.LiberoBenchmark \
    --benchmark.task_suite libero_10 \
    --policy physicalai.policies.ACT \
    --ckpt_path ./checkpoints/model.ckpt

# With video recording
physicalai benchmark \
    --benchmark physicalai.benchmark.gyms.LiberoBenchmark \
    --benchmark.task_suite libero_10 \
    --benchmark.video_dir ./videos \
    --benchmark.record_mode failures \
    --policy physicalai.policies.ACT \
    --ckpt_path ./checkpoints/model.ckpt

Export

Export trained policies to optimized formats for deployment.

API

from physicalai.policies import ACT

# Load and export
policy = ACT.load_from_checkpoint("checkpoints/model.ckpt")
policy.export("./exports", backend="openvino")

CLI

physicalai export \
    --policy physicalai.policies.ACT \
    --ckpt_path checkpoints/model.ckpt \
    --backend openvino \
    --output_dir ./exports

Supported Backends

Backend Best For Install
OpenVINO Intel hardware (CPU/GPU/NPU) pip install openvino
ONNX NVIDIA GPUs, cross-platform pip install onnx
Torch Export Edge/mobile devices Built-in

Inference

Deploy exported models with a unified inference API.

API

from physicalai.inference import InferenceModel

# Load exported model (auto-detects backend)
policy = InferenceModel("./exports")

# Run inference loop
obs, info = env.reset()
policy.reset()
done = False

while not done:
    action = policy.select_action(obs)
    obs, reward, terminated, truncated, info = env.step(action)
    done = terminated or truncated

The inference API is consistent across all export backends, making it easy to switch between OpenVINO, ONNX, and Torch depending on your deployment target.

Documentation

See Also

Development Type Checking

# From library/
uv run pyrefly check -c pyproject.toml

Metadata

Release files for physicalai-train 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for physicalai-train 0.2.0
File Size Uploaded
physicalai_train-0.2.0.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for physicalai-train 0.2.0
File Interpreter ABI Platform
physicalai_train-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / physicalai_train-0.2.0.tar.gz

Download URL physicalai_train-0.2.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
d21767d43e6e39b3f6991bd1044f66c1625ef6a0865927067ac9b49a772813d2
BLAKE2b-256 checksum
How to use checksums
662ca2a389f26863d2be8c38596fcbc0abce8320861d3b063cda0c96176bf34c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.

Transparency log

Release files / physicalai_train-0.2.0-py3-none-any.whl

Download URL physicalai_train-0.2.0-py3-none-any.whl
Size 628.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d0176d10b396ff2efb1b6a9e90b2b4ba8c6a6acbc5a5c9421589bc77052028dc
BLAKE2b-256 checksum
How to use checksums
32cca7c6ea4d60040dc12d3a888021838f80fe559b3614ade4262649444bf691
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page