mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-23 04:30:10 +00:00
Add RTC to PI0
This commit is contained in:
@@ -11,13 +11,20 @@ It compares action predictions with and without RTC on dataset samples,
|
|||||||
measuring consistency and ground truth alignment.
|
measuring consistency and ground truth alignment.
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
# Basic usage
|
# Basic usage with smolvla policy
|
||||||
uv run python examples/rtc/eval_dataset.py \
|
uv run python examples/rtc/eval_dataset.py \
|
||||||
--policy.path=helper2424/smolvla_check_rtc_last3 \
|
--policy.path=helper2424/smolvla_check_rtc_last3 \
|
||||||
--dataset.repo_id=helper2424/check_rtc \
|
--dataset.repo_id=helper2424/check_rtc \
|
||||||
--rtc.execution_horizon=8 \
|
--rtc.execution_horizon=8 \
|
||||||
--device=mps
|
--device=mps
|
||||||
|
|
||||||
|
# Basic usage with pi0.5 policy
|
||||||
|
uv run python examples/rtc/eval_dataset.py \
|
||||||
|
--policy.path=lerobot/pi05_libero_finetuned \
|
||||||
|
--dataset.repo_id=HuggingFaceVLA/libero \
|
||||||
|
--rtc.execution_horizon=8 \
|
||||||
|
--device=mps
|
||||||
|
|
||||||
# With torch.compile for faster inference (PyTorch 2.0+)
|
# With torch.compile for faster inference (PyTorch 2.0+)
|
||||||
# Note: CUDA graphs disabled by default due to in-place ops in denoising loop
|
# Note: CUDA graphs disabled by default due to in-place ops in denoising loop
|
||||||
uv run python examples/rtc/eval_dataset.py \
|
uv run python examples/rtc/eval_dataset.py \
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ from lerobot.configs.policies import PreTrainedConfig
|
|||||||
from lerobot.configs.types import FeatureType, NormalizationMode, PolicyFeature
|
from lerobot.configs.types import FeatureType, NormalizationMode, PolicyFeature
|
||||||
from lerobot.optim.optimizers import AdamWConfig
|
from lerobot.optim.optimizers import AdamWConfig
|
||||||
from lerobot.optim.schedulers import CosineDecayWithWarmupSchedulerConfig
|
from lerobot.optim.schedulers import CosineDecayWithWarmupSchedulerConfig
|
||||||
|
from lerobot.policies.rtc.configuration_rtc import RTCConfig
|
||||||
from lerobot.utils.constants import OBS_IMAGES
|
from lerobot.utils.constants import OBS_IMAGES
|
||||||
|
|
||||||
|
|
||||||
@@ -47,6 +48,9 @@ class PI0Config(PreTrainedConfig):
|
|||||||
min_period: float = 4e-3
|
min_period: float = 4e-3
|
||||||
max_period: float = 4.0
|
max_period: float = 4.0
|
||||||
|
|
||||||
|
# Real-Time Chunking (RTC) configuration
|
||||||
|
rtc_config: RTCConfig | None = None
|
||||||
|
|
||||||
image_resolution: tuple[int, int] = (224, 224) # see openpi `preprocessing_pytorch.py`
|
image_resolution: tuple[int, int] = (224, 224) # see openpi `preprocessing_pytorch.py`
|
||||||
|
|
||||||
# Add empty images. Used to add empty cameras when no image features are present.
|
# Add empty images. Used to add empty cameras when no image features are present.
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ from lerobot.configs.policies import PreTrainedConfig
|
|||||||
from lerobot.configs.types import FeatureType, NormalizationMode, PolicyFeature
|
from lerobot.configs.types import FeatureType, NormalizationMode, PolicyFeature
|
||||||
from lerobot.optim.optimizers import AdamWConfig
|
from lerobot.optim.optimizers import AdamWConfig
|
||||||
from lerobot.optim.schedulers import CosineDecayWithWarmupSchedulerConfig
|
from lerobot.optim.schedulers import CosineDecayWithWarmupSchedulerConfig
|
||||||
|
from lerobot.policies.rtc.configuration_rtc import RTCConfig
|
||||||
|
|
||||||
|
|
||||||
@PreTrainedConfig.register_subclass("pi05")
|
@PreTrainedConfig.register_subclass("pi05")
|
||||||
@@ -46,6 +47,9 @@ class PI05Config(PreTrainedConfig):
|
|||||||
min_period: float = 4e-3
|
min_period: float = 4e-3
|
||||||
max_period: float = 4.0
|
max_period: float = 4.0
|
||||||
|
|
||||||
|
# Real-Time Chunking (RTC) configuration
|
||||||
|
rtc_config: RTCConfig | None = None
|
||||||
|
|
||||||
image_resolution: tuple[int, int] = (224, 224) # see openpi `preprocessing_pytorch.py`
|
image_resolution: tuple[int, int] = (224, 224) # see openpi `preprocessing_pytorch.py`
|
||||||
|
|
||||||
# Add empty images. Used to add empty cameras when no image features are present.
|
# Add empty images. Used to add empty cameras when no image features are present.
|
||||||
|
|||||||
Reference in New Issue
Block a user