feat(data): add recipe-driven language supervision (#4182)

* feat(data): add recipe-driven language supervision

* test(collate): expect preserved language columns

* Address PR review feedback

* Address Claude review feedback
This commit is contained in:
Pepijn
2026-08-04 16:48:47 +02:00
committed by GitHub
parent f66e5128ec
commit 64b23178d5
28 changed files with 1062 additions and 79 deletions
+20 -1
View File
@@ -28,7 +28,12 @@ from huggingface_hub import DatasetCard
import lerobot.datasets.utils as dataset_utils
from lerobot.datasets.io_utils import hf_transform_to_torch
from lerobot.datasets.utils import create_lerobot_dataset_card, get_repo_versions, get_safe_version
from lerobot.datasets.utils import (
create_lerobot_dataset_card,
get_repo_versions,
get_safe_version,
resolve_episode_indices,
)
from lerobot.utils.constants import ACTION, OBS_IMAGES
from lerobot.utils.feature_utils import combine_feature_dicts
@@ -62,6 +67,20 @@ def test_default_parameters():
]
def test_resolve_episode_indices_applies_allowlist_and_exclusions():
assert resolve_episode_indices([4, 1, 3, 0], 5, [1, 4]) == [3, 0]
def test_resolve_episode_indices_preserves_none_without_filtering():
assert resolve_episode_indices(None, 5) is None
def test_resolve_episode_indices_ignores_out_of_range_values(caplog):
assert resolve_episode_indices([-1, 0, 3, 5], 4, [-2, 3, 8]) == [0]
assert "Ignoring episode indices outside the dataset range [0, 4): [-1, 5]" in caplog.text
assert "Ignoring excluded episode indices outside the dataset range [0, 4): [-2, 8]" in caplog.text
@pytest.mark.parametrize("token", ["hf_test_token", True, False])
def test_get_repo_versions_forwards_token(monkeypatch, token):
api = Mock()