From aee86b4b180ab05a64de38b363c15fe8dddadd73 Mon Sep 17 00:00:00 2001 From: Junwu Zhang Date: Mon, 7 Apr 2025 08:41:10 -0700 Subject: [PATCH 1/3] typo fix: example_1 python script (#631) Co-authored-by: Steven Palma --- examples/1_load_lerobot_dataset.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/1_load_lerobot_dataset.py b/examples/1_load_lerobot_dataset.py index c374a375..07db38a1 100644 --- a/examples/1_load_lerobot_dataset.py +++ b/examples/1_load_lerobot_dataset.py @@ -119,7 +119,7 @@ print(dataset.features[camera_key]["shape"]) delta_timestamps = { # loads 4 images: 1 second before current frame, 500 ms before, 200 ms before, and current frame camera_key: [-1, -0.5, -0.20, 0], - # loads 8 state vectors: 1.5 seconds before, 1 second before, ... 200 ms, 100 ms, and current frame + # loads 6 state vectors: 1.5 seconds before, 1 second before, ... 200 ms, 100 ms, and current frame "observation.state": [-1.5, -1, -0.5, -0.20, -0.10, 0], # loads 64 action vectors: current frame, 1 frame in the future, 2 frames, ... 63 frames in the future "action": [t / dataset.fps for t in range(64)], @@ -143,6 +143,6 @@ dataloader = torch.utils.data.DataLoader( for batch in dataloader: print(f"{batch[camera_key].shape=}") # (32, 4, c, h, w) - print(f"{batch['observation.state'].shape=}") # (32, 5, c) + print(f"{batch['observation.state'].shape=}") # (32, 6, c) print(f"{batch['action'].shape=}") # (32, 64, c) break From 437fc29e12faaf8430fe421b975b0db6665758f8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 06:58:46 +0200 Subject: [PATCH 2/3] [pre-commit.ci] pre-commit autoupdate (#871) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 8 ++++---- lerobot/common/datasets/lerobot_dataset.py | 2 +- lerobot/common/datasets/utils.py | 2 +- lerobot/common/datasets/v2/convert_dataset_v1_to_v2.py | 2 +- lerobot/common/utils/logging_utils.py | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e699f543..b5e09719 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -37,7 +37,7 @@ repos: - id: trailing-whitespace - repo: https://github.com/crate-ci/typos - rev: v1.30.2 + rev: v1 hooks: - id: typos args: [--force-exclude] @@ -48,7 +48,7 @@ repos: - id: pyupgrade - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.10 + rev: v0.11.4 hooks: - id: ruff args: [--fix] @@ -57,12 +57,12 @@ repos: ##### Security ##### - repo: https://github.com/gitleaks/gitleaks - rev: v8.24.0 + rev: v8.24.2 hooks: - id: gitleaks - repo: https://github.com/woodruffw/zizmor-pre-commit - rev: v1.4.1 + rev: v1.5.2 hooks: - id: zizmor diff --git a/lerobot/common/datasets/lerobot_dataset.py b/lerobot/common/datasets/lerobot_dataset.py index 6ef955dd..d8da85d6 100644 --- a/lerobot/common/datasets/lerobot_dataset.py +++ b/lerobot/common/datasets/lerobot_dataset.py @@ -1053,7 +1053,7 @@ class MultiLeRobotDataset(torch.utils.data.Dataset): super().__init__() self.repo_ids = repo_ids self.root = Path(root) if root else HF_LEROBOT_HOME - self.tolerances_s = tolerances_s if tolerances_s else {repo_id: 1e-4 for repo_id in repo_ids} + self.tolerances_s = tolerances_s if tolerances_s else dict.fromkeys(repo_ids, 0.0001) # Construct the underlying datasets passing everything but `transform` and `delta_timestamps` which # are handled by this class. self._datasets = [ diff --git a/lerobot/common/datasets/utils.py b/lerobot/common/datasets/utils.py index 7e297b35..9d8a54db 100644 --- a/lerobot/common/datasets/utils.py +++ b/lerobot/common/datasets/utils.py @@ -240,7 +240,7 @@ def load_episodes_stats(local_dir: Path) -> dict: def backward_compatible_episodes_stats( stats: dict[str, dict[str, np.ndarray]], episodes: list[int] ) -> dict[str, dict[str, np.ndarray]]: - return {ep_idx: stats for ep_idx in episodes} + return dict.fromkeys(episodes, stats) def load_image_as_numpy( diff --git a/lerobot/common/datasets/v2/convert_dataset_v1_to_v2.py b/lerobot/common/datasets/v2/convert_dataset_v1_to_v2.py index acf0282f..024576d7 100644 --- a/lerobot/common/datasets/v2/convert_dataset_v1_to_v2.py +++ b/lerobot/common/datasets/v2/convert_dataset_v1_to_v2.py @@ -481,7 +481,7 @@ def convert_dataset( # Tasks if single_task: - tasks_by_episodes = {ep_idx: single_task for ep_idx in episode_indices} + tasks_by_episodes = dict.fromkeys(episode_indices, single_task) dataset, tasks = add_task_index_by_episodes(dataset, tasks_by_episodes) tasks_by_episodes = {ep_idx: [task] for ep_idx, task in tasks_by_episodes.items()} elif tasks_path: diff --git a/lerobot/common/utils/logging_utils.py b/lerobot/common/utils/logging_utils.py index b99c348f..56c9abb2 100644 --- a/lerobot/common/utils/logging_utils.py +++ b/lerobot/common/utils/logging_utils.py @@ -94,7 +94,7 @@ class MetricsTracker: metrics: dict[str, AverageMeter], initial_step: int = 0, ): - self.__dict__.update({k: None for k in self.__keys__}) + self.__dict__.update(dict.fromkeys(self.__keys__)) self._batch_size = batch_size self._num_frames = num_frames self._avg_samples_per_ep = num_frames / num_episodes From 2c86fea78aa3a3177411a9758a0a703baac74ea8 Mon Sep 17 00:00:00 2001 From: Simon Alibert <75076266+aliberts@users.noreply.github.com> Date: Tue, 8 Apr 2025 12:44:09 +0200 Subject: [PATCH 3/3] Switch typos pre-commit to mirror (#953) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b5e09719..4df93a36 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,8 +36,8 @@ repos: - id: end-of-file-fixer - id: trailing-whitespace - - repo: https://github.com/crate-ci/typos - rev: v1 + - repo: https://github.com/adhtruong/mirrors-typos + rev: v1.31.1 hooks: - id: typos args: [--force-exclude]