From 8548a87bd49c19bcda64cf0d6f205a378c1cebc3 Mon Sep 17 00:00:00 2001 From: Simon Alibert <75076266+aliberts@users.noreply.github.com> Date: Sun, 9 Feb 2025 14:24:01 +0100 Subject: [PATCH 1/3] Remove dataset tests artifacts (#701) --- .../meta_data/episode_data_index.safetensors | 3 - .../aloha_mobile_cabinet/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 61 ----------------- .../aloha_mobile_cabinet/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_mobile_chair/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 61 ----------------- .../aloha_mobile_chair/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_mobile_elevator/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 61 ----------------- .../aloha_mobile_elevator/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_mobile_shrimp/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 61 ----------------- .../aloha_mobile_shrimp/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_mobile_wash_pan/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 61 ----------------- .../aloha_mobile_wash_pan/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 61 ----------------- .../aloha_mobile_wipe_wine/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 47 ------------- .../train/state.json | 13 ---- .../observation.images.top_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 47 ------------- .../train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 47 ------------- .../train/state.json | 13 ---- .../observation.images.top_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 47 ------------- .../train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 47 ------------- .../train/state.json | 13 ---- .../observation.images.top_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 47 ------------- .../train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 47 ------------- .../train/state.json | 13 ---- .../observation.images.top_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 47 ------------- .../train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../aloha_static_battery/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 56 ---------------- .../aloha_static_battery/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_static_candy/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 56 ---------------- .../aloha_static_candy/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_static_coffee/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../aloha_static_coffee/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../aloha_static_coffee_new/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 56 ---------------- .../aloha_static_cups_open/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../aloha_static_pro_pencil/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_static_tape/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../aloha_static_tape/train/dataset_info.json | 56 ---------------- .../aloha_static_tape/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 56 ---------------- .../train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_static_towel/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../aloha_static_towel/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../aloha_static_vinh_cup/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../aloha_static_vinh_cup/train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 64 ------------------ .../train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 56 ---------------- .../train/state.json | 13 ---- ...rvation.images.cam_high_episode_000000.mp4 | 3 - ...n.images.cam_left_wrist_episode_000000.mp4 | 3 - ...ervation.images.cam_low_episode_000000.mp4 | 3 - ....images.cam_right_wrist_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - tests/data/lerobot/pusht/meta_data/info.json | 11 --- .../lerobot/pusht/meta_data/stats.safetensors | 3 - .../pusht/train/data-00000-of-00001.arrow | 3 - .../lerobot/pusht/train/dataset_info.json | 55 --------------- tests/data/lerobot/pusht/train/state.json | 13 ---- .../observation.image_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../lerobot/pusht_image/meta_data/info.json | 5 -- .../pusht_image/meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../pusht_image/train/dataset_info.json | 55 --------------- .../data/lerobot/pusht_image/train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../pusht_keypoints/meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../pusht_keypoints/train/dataset_info.json | 60 ----------------- .../lerobot/pusht_keypoints/train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../umi_cup_in_the_wild/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 67 ------------------- .../umi_cup_in_the_wild/train/state.json | 13 ---- .../observation.image_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 50 -------------- .../unitreeh1_fold_clothes/train/state.json | 13 ---- ...rvation.images.cam_left_episode_000000.mp4 | 3 - ...vation.images.cam_right_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 50 -------------- .../train/state.json | 13 ---- ...rvation.images.cam_left_episode_000000.mp4 | 3 - ...vation.images.cam_right_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 50 -------------- .../train/state.json | 13 ---- ...rvation.images.cam_left_episode_000000.mp4 | 3 - ...vation.images.cam_right_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../unitreeh1_warehouse/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 50 -------------- .../unitreeh1_warehouse/train/state.json | 13 ---- ...rvation.images.cam_left_episode_000000.mp4 | 3 - ...vation.images.cam_right_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../xarm_lift_medium/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../xarm_lift_medium/train/dataset_info.json | 51 -------------- .../lerobot/xarm_lift_medium/train/state.json | 13 ---- .../observation.image_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 51 -------------- .../xarm_lift_medium_image/train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 51 -------------- .../xarm_lift_medium_replay/train/state.json | 13 ---- .../observation.image_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 51 -------------- .../train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../xarm_push_medium/meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../xarm_push_medium/train/dataset_info.json | 51 -------------- .../lerobot/xarm_push_medium/train/state.json | 13 ---- .../observation.image_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 51 -------------- .../xarm_push_medium_image/train/state.json | 13 ---- .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 11 --- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 51 -------------- .../xarm_push_medium_replay/train/state.json | 13 ---- .../observation.image_episode_000000.mp4 | 3 - .../meta_data/episode_data_index.safetensors | 3 - .../meta_data/info.json | 5 -- .../meta_data/stats.safetensors | 3 - .../train/data-00000-of-00001.arrow | 3 - .../train/dataset_info.json | 51 -------------- .../train/state.json | 13 ---- 366 files changed, 4212 deletions(-) delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/train/state.json delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_chair/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_chair/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_mobile_chair/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_chair/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_mobile_chair/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_mobile_chair/train/state.json delete mode 100644 tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/train/state.json delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/train/state.json delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/train/state.json delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/train/state.json delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human/train/state.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human/videos/observation.images.top_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_human_image/train/state.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted/train/state.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted/videos/observation.images.top_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_sim_insertion_scripted_image/train/state.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human/train/state.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human/videos/observation.images.top_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/state.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/state.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted/videos/observation.images.top_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_battery/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_battery/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_battery/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_battery/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_battery/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_battery/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_candy/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_candy/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_candy/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_candy/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_candy/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_candy/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_coffee/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_coffee/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_coffee/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_coffee/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_coffee/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_coffee/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_cups_open/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_cups_open/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_cups_open/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_cups_open/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_cups_open/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_cups_open/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_tape/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_tape/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_tape/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_tape/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_tape/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_tape/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_towel/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_towel/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_towel/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_towel/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_towel/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_towel/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/meta_data/info.json delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/train/dataset_info.json delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/train/state.json delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_high_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_left_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_low_episode_000000.mp4 delete mode 100644 tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_right_wrist_episode_000000.mp4 delete mode 100644 tests/data/lerobot/pusht/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/pusht/meta_data/info.json delete mode 100644 tests/data/lerobot/pusht/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/pusht/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/pusht/train/dataset_info.json delete mode 100644 tests/data/lerobot/pusht/train/state.json delete mode 100644 tests/data/lerobot/pusht/videos/observation.image_episode_000000.mp4 delete mode 100644 tests/data/lerobot/pusht_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/pusht_image/meta_data/info.json delete mode 100644 tests/data/lerobot/pusht_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/pusht_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/pusht_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/pusht_image/train/state.json delete mode 100644 tests/data/lerobot/pusht_keypoints/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/pusht_keypoints/meta_data/info.json delete mode 100644 tests/data/lerobot/pusht_keypoints/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/pusht_keypoints/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/pusht_keypoints/train/dataset_info.json delete mode 100644 tests/data/lerobot/pusht_keypoints/train/state.json delete mode 100644 tests/data/lerobot/umi_cup_in_the_wild/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/umi_cup_in_the_wild/meta_data/info.json delete mode 100644 tests/data/lerobot/umi_cup_in_the_wild/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/umi_cup_in_the_wild/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/umi_cup_in_the_wild/train/dataset_info.json delete mode 100644 tests/data/lerobot/umi_cup_in_the_wild/train/state.json delete mode 100644 tests/data/lerobot/umi_cup_in_the_wild/videos/observation.image_episode_000000.mp4 delete mode 100644 tests/data/lerobot/unitreeh1_fold_clothes/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/unitreeh1_fold_clothes/meta_data/info.json delete mode 100644 tests/data/lerobot/unitreeh1_fold_clothes/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/unitreeh1_fold_clothes/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/unitreeh1_fold_clothes/train/dataset_info.json delete mode 100644 tests/data/lerobot/unitreeh1_fold_clothes/train/state.json delete mode 100644 tests/data/lerobot/unitreeh1_fold_clothes/videos/observation.images.cam_left_episode_000000.mp4 delete mode 100644 tests/data/lerobot/unitreeh1_fold_clothes/videos/observation.images.cam_right_episode_000000.mp4 delete mode 100644 tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/info.json delete mode 100644 tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/unitreeh1_rearrange_objects/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/unitreeh1_rearrange_objects/train/dataset_info.json delete mode 100644 tests/data/lerobot/unitreeh1_rearrange_objects/train/state.json delete mode 100644 tests/data/lerobot/unitreeh1_rearrange_objects/videos/observation.images.cam_left_episode_000000.mp4 delete mode 100644 tests/data/lerobot/unitreeh1_rearrange_objects/videos/observation.images.cam_right_episode_000000.mp4 delete mode 100644 tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/info.json delete mode 100644 tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/unitreeh1_two_robot_greeting/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/unitreeh1_two_robot_greeting/train/dataset_info.json delete mode 100644 tests/data/lerobot/unitreeh1_two_robot_greeting/train/state.json delete mode 100644 tests/data/lerobot/unitreeh1_two_robot_greeting/videos/observation.images.cam_left_episode_000000.mp4 delete mode 100644 tests/data/lerobot/unitreeh1_two_robot_greeting/videos/observation.images.cam_right_episode_000000.mp4 delete mode 100644 tests/data/lerobot/unitreeh1_warehouse/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/unitreeh1_warehouse/meta_data/info.json delete mode 100644 tests/data/lerobot/unitreeh1_warehouse/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/unitreeh1_warehouse/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/unitreeh1_warehouse/train/dataset_info.json delete mode 100644 tests/data/lerobot/unitreeh1_warehouse/train/state.json delete mode 100644 tests/data/lerobot/unitreeh1_warehouse/videos/observation.images.cam_left_episode_000000.mp4 delete mode 100644 tests/data/lerobot/unitreeh1_warehouse/videos/observation.images.cam_right_episode_000000.mp4 delete mode 100644 tests/data/lerobot/xarm_lift_medium/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/xarm_lift_medium/meta_data/info.json delete mode 100644 tests/data/lerobot/xarm_lift_medium/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/xarm_lift_medium/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/xarm_lift_medium/train/dataset_info.json delete mode 100644 tests/data/lerobot/xarm_lift_medium/train/state.json delete mode 100644 tests/data/lerobot/xarm_lift_medium/videos/observation.image_episode_000000.mp4 delete mode 100644 tests/data/lerobot/xarm_lift_medium_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/xarm_lift_medium_image/meta_data/info.json delete mode 100644 tests/data/lerobot/xarm_lift_medium_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/xarm_lift_medium_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/xarm_lift_medium_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/xarm_lift_medium_image/train/state.json delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay/meta_data/info.json delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay/train/dataset_info.json delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay/train/state.json delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay/videos/observation.image_episode_000000.mp4 delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/info.json delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/xarm_lift_medium_replay_image/train/state.json delete mode 100644 tests/data/lerobot/xarm_push_medium/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/xarm_push_medium/meta_data/info.json delete mode 100644 tests/data/lerobot/xarm_push_medium/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/xarm_push_medium/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/xarm_push_medium/train/dataset_info.json delete mode 100644 tests/data/lerobot/xarm_push_medium/train/state.json delete mode 100644 tests/data/lerobot/xarm_push_medium/videos/observation.image_episode_000000.mp4 delete mode 100644 tests/data/lerobot/xarm_push_medium_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/xarm_push_medium_image/meta_data/info.json delete mode 100644 tests/data/lerobot/xarm_push_medium_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/xarm_push_medium_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/xarm_push_medium_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/xarm_push_medium_image/train/state.json delete mode 100644 tests/data/lerobot/xarm_push_medium_replay/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/xarm_push_medium_replay/meta_data/info.json delete mode 100644 tests/data/lerobot/xarm_push_medium_replay/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/xarm_push_medium_replay/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/xarm_push_medium_replay/train/dataset_info.json delete mode 100644 tests/data/lerobot/xarm_push_medium_replay/train/state.json delete mode 100644 tests/data/lerobot/xarm_push_medium_replay/videos/observation.image_episode_000000.mp4 delete mode 100644 tests/data/lerobot/xarm_push_medium_replay_image/meta_data/episode_data_index.safetensors delete mode 100644 tests/data/lerobot/xarm_push_medium_replay_image/meta_data/info.json delete mode 100644 tests/data/lerobot/xarm_push_medium_replay_image/meta_data/stats.safetensors delete mode 100644 tests/data/lerobot/xarm_push_medium_replay_image/train/data-00000-of-00001.arrow delete mode 100644 tests/data/lerobot/xarm_push_medium_replay_image/train/dataset_info.json delete mode 100644 tests/data/lerobot/xarm_push_medium_replay_image/train/state.json diff --git a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/episode_data_index.safetensors deleted file mode 100644 index 2a11302f..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7841afb9ef99c0601448c43a20c25eb029440c73816319c67c5d7e1c5cde2445 -size 136 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/info.json b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_cabinet/meta_data/stats.safetensors deleted file mode 100644 index f3ce2d44..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:03508d82db846a804aef1a28aec3cb9572e3105b55a02b6ddbb09b2522d57b84 -size 4344 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_cabinet/train/data-00000-of-00001.arrow deleted file mode 100644 index ff18f35a..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7009b3d2f14d6af497eeb32a52332e79cb9c07db24a6c2bbfbeffbaa8151dd69 -size 592448 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_cabinet/train/dataset_info.json deleted file mode 100644 index 76df9e36..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/train/dataset_info.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_cabinet/train/state.json b/tests/data/lerobot/aloha_mobile_cabinet/train/state.json deleted file mode 100644 index dcc6815f..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "3e76021c95d21c4d", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 056b255a..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a70cc17019407cf6bee44fa2c78b4f29e48eb1696aa1a4ff4c048ba256574523 -size 6356921 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 3557d000..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b35992036e6dcee7d4df6d1675d55d1dd2d658b2d65442737e709895699a2f0 -size 5084448 diff --git a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 773773b4..00000000 --- a/tests/data/lerobot/aloha_mobile_cabinet/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3aa92e6b6bd0e39f6de530ea6a270671db7350cdc101c9d9030c775539c708c1 -size 5441406 diff --git a/tests/data/lerobot/aloha_mobile_chair/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_chair/meta_data/episode_data_index.safetensors deleted file mode 100644 index eeaf6055..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ee862b1a6dc1d11df77c36c47ea00db88ad35a48e4d71c2940ad26b55fe2167 -size 136 diff --git a/tests/data/lerobot/aloha_mobile_chair/meta_data/info.json b/tests/data/lerobot/aloha_mobile_chair/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_chair/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_chair/meta_data/stats.safetensors deleted file mode 100644 index 2f8adb77..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:095c30bfe3c5da168c85aceef905e74e2142866332282965aa6812f6e6e48448 -size 4344 diff --git a/tests/data/lerobot/aloha_mobile_chair/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_chair/train/data-00000-of-00001.arrow deleted file mode 100644 index f00f3471..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:98859f2d87e1a0abb9a930a82af623504b3efb26f70fe576f05bab7f19024427 -size 788528 diff --git a/tests/data/lerobot/aloha_mobile_chair/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_chair/train/dataset_info.json deleted file mode 100644 index 76df9e36..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/train/dataset_info.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_chair/train/state.json b/tests/data/lerobot/aloha_mobile_chair/train/state.json deleted file mode 100644 index d0893b2f..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "872117944c4ecdff", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 9d75af15..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:596dda720d378a44b6b61a6a72b44bec3e55e85198bca37f9dace6fe84af7ff0 -size 16062396 diff --git a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 7c589028..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c614bbaf93d65354a82001b357682a0bd36f9603685f6c735c5e377b763d0bdb -size 10317415 diff --git a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index b7b8e21f..00000000 --- a/tests/data/lerobot/aloha_mobile_chair/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:868788028a38334b6b566cb17ffcc2ace2ec2b2b68ff2a58b6d29eb3c3e2ec1f -size 9516445 diff --git a/tests/data/lerobot/aloha_mobile_elevator/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_elevator/meta_data/episode_data_index.safetensors deleted file mode 100644 index 114828ad..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f365a02b052a2697b1558f4ab9b813f0d4ba46a5bc6ae3da30bbc4b135426aa6 -size 136 diff --git a/tests/data/lerobot/aloha_mobile_elevator/meta_data/info.json b/tests/data/lerobot/aloha_mobile_elevator/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_elevator/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_elevator/meta_data/stats.safetensors deleted file mode 100644 index 29867ece..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c96f47b569b7af82e05200213d733626664150aa7c5ae3298fd04a2138a2023 -size 4344 diff --git a/tests/data/lerobot/aloha_mobile_elevator/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_elevator/train/data-00000-of-00001.arrow deleted file mode 100644 index 647db718..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75f53d221827f17cc2ded3908452e24331b39b79dc3a26f2b9d89a6e6894baab -size 887728 diff --git a/tests/data/lerobot/aloha_mobile_elevator/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_elevator/train/dataset_info.json deleted file mode 100644 index 76df9e36..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/train/dataset_info.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_elevator/train/state.json b/tests/data/lerobot/aloha_mobile_elevator/train/state.json deleted file mode 100644 index 2eafc088..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "ba1d9dc6ea5a9717", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 48676536..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:73ddb898f83589b4bcabe978e46e75f20be215492f115bf6ebc98f1d01e1eff8 -size 9696507 diff --git a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 819cfd21..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d3d993977bee96882732d4a9c9d082c356fc9fcd8199c027b016207d60494c2f -size 8957007 diff --git a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 49459299..00000000 --- a/tests/data/lerobot/aloha_mobile_elevator/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c9321627184c14af4a6ba64d02e86f7253bc1f563a3adef17036d68480d2bb3e -size 9938178 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/episode_data_index.safetensors deleted file mode 100644 index 061080b2..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:88346956fdf58f17dba7b08cc858364ed8278a7baa20febd9c68ae959d2c9c82 -size 136 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/info.json b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_shrimp/meta_data/stats.safetensors deleted file mode 100644 index ad28b5c9..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:de80d5afc044be903a89ee08f30cfef5fb4c1e928d8ba8f4d81ea9d0bb4fb011 -size 4344 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_shrimp/train/data-00000-of-00001.arrow deleted file mode 100644 index f6b3d852..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:79c2a3da1024fa140d23e8438b2756d27cf5db65ac70d7ac4215260b55ca55f8 -size 1477064 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_shrimp/train/dataset_info.json deleted file mode 100644 index 76df9e36..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/train/dataset_info.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_shrimp/train/state.json b/tests/data/lerobot/aloha_mobile_shrimp/train/state.json deleted file mode 100644 index 3331ae57..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "d95a3a7eae59566d", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index c5085db2..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3fc89b720dfb7511d5dd9eba31494cf720e6a89519067b7b5a4d65f0a539c811 -size 35137505 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index ed1ebefd..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:26b8d97a096aa8a1d686d86fc93bde1dcdd50a9dc273f49f3b6a700fe6610e88 -size 20387806 diff --git a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index b1e7cac7..00000000 --- a/tests/data/lerobot/aloha_mobile_shrimp/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:72000be2803259f40da6d093279d17ed194ead3ebc508bf2d77cb463bcb67c4d -size 17594265 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/episode_data_index.safetensors deleted file mode 100644 index 0b923914..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb6de86fee6ff3cc5d61d591fe480a50feb289c05770e3f4b76e24138b571c65 -size 136 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/info.json b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/stats.safetensors deleted file mode 100644 index 4c9bf401..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d79027c2513c01a7e360f3177e62ab955e5d3f704f1e7127a6e1e852158ec42c -size 4344 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_wash_pan/train/data-00000-of-00001.arrow deleted file mode 100644 index e04b2c82..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a2c1f98c816728136291fcb7530cd0ebcf4ea47b0f6750836da56b8324d64c1 -size 435600 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_wash_pan/train/dataset_info.json deleted file mode 100644 index 76df9e36..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/train/dataset_info.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/train/state.json b/tests/data/lerobot/aloha_mobile_wash_pan/train/state.json deleted file mode 100644 index 97d3529d..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "09ba9b66b7f468bc", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index e771bb19..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7e298db7d820e2ff9f0b9c250e800e8ada3521fdeae3c4127452dd62700e9ac8 -size 10980189 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 1bc5cc64..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29b46c2e823d62b1329b98a3d7efffd24fc6c904e9cea115e2f0adb1bb45db44 -size 7229025 diff --git a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 24180826..00000000 --- a/tests/data/lerobot/aloha_mobile_wash_pan/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f34ddbd109b212260c758d54a0930f75a38666a178a0d26eeefa846cfeac86c0 -size 5944469 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/episode_data_index.safetensors deleted file mode 100644 index 5ffc0b20..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1386f9030607facefe56f429c93e50df0e22017914ce3f21ab67edc87b936d9d -size 136 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/info.json b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/stats.safetensors b/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/stats.safetensors deleted file mode 100644 index d4450770..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ffb173891cebb47a4d24d051f5fdd2ec44493d0a1a48d11f4d1410049aadd5b -size 4344 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_mobile_wipe_wine/train/data-00000-of-00001.arrow deleted file mode 100644 index bc3ce8e0..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ae1760af2d3bf13c6e868643f203e76e1faf81a237715f72f2b81c3199e95e96 -size 514056 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/train/dataset_info.json b/tests/data/lerobot/aloha_mobile_wipe_wine/train/dataset_info.json deleted file mode 100644 index 76df9e36..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/train/dataset_info.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/train/state.json b/tests/data/lerobot/aloha_mobile_wipe_wine/train/state.json deleted file mode 100644 index 3db9829b..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "5a33376149b4e966", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index c2f01434..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1489dac711fb99b192f064f9dbe56ed0e9e80fedc34da469e85acc7d5b4d75bf -size 12316772 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index b82b4817..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:20edc20184b5e4eb45194016fe7a0a5673665e3105286e0c6563767b5ff461f3 -size 6365474 diff --git a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 3de9db4d..00000000 --- a/tests/data/lerobot/aloha_mobile_wipe_wine/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ccdc96d9fe560a841e45e9fa636b69ef35b518271982339516517a4ae47d04f -size 7449799 diff --git a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/episode_data_index.safetensors deleted file mode 100644 index 22728a5a..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ee4f3c571ce6822e157e60133bee02245febee93eba5d35458d3c83345f7b87 -size 136 diff --git a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/info.json b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_insertion_human/meta_data/stats.safetensors deleted file mode 100644 index 8b34513c..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b05f933aa67d559e44f062c8428b2f85ee7b49d3bf0e0302b9b83fb7d48ed0a3 -size 2904 diff --git a/tests/data/lerobot/aloha_sim_insertion_human/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_insertion_human/train/data-00000-of-00001.arrow deleted file mode 100644 index 4099ea41..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8698f98e3fe36e321ba99a9b60facaab4abffb26916042b021adc1b41e8fb877 -size 100040 diff --git a/tests/data/lerobot/aloha_sim_insertion_human/train/dataset_info.json b/tests/data/lerobot/aloha_sim_insertion_human/train/dataset_info.json deleted file mode 100644 index c6f7b938..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human/train/dataset_info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_human/train/state.json b/tests/data/lerobot/aloha_sim_insertion_human/train/state.json deleted file mode 100644 index dc783b74..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "3aa08798f073758b", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_human/videos/observation.images.top_episode_000000.mp4 b/tests/data/lerobot/aloha_sim_insertion_human/videos/observation.images.top_episode_000000.mp4 deleted file mode 100644 index ae77bbed..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human/videos/observation.images.top_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a57aade7d8510ef1cc8778f90cfa86749c95fa0c5a5e80cb166b2edd0f7189a -size 1788513 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index 6cd34f25..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7dbc214a415689ca7fb83b6f8e12ec7824dfe34a66024b0b24bfeb3aeefd0e4 -size 928 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/info.json b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/info.json deleted file mode 100644 index ecd6cc90..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/stats.safetensors deleted file mode 100644 index fa5c7586..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f98bd8f6347590aecdddaceed95d921f2d9f7bf35fbe742c37bdf12cba11dca6 -size 2904 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_insertion_human_image/train/data-00000-of-00001.arrow deleted file mode 100644 index 93a11cf8..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c0013aea549ec290af94bddde1b559fb8d0967d4c43ef14319177c4e62ed1e91 -size 14545712 diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/train/dataset_info.json b/tests/data/lerobot/aloha_sim_insertion_human_image/train/dataset_info.json deleted file mode 100644 index 69f80830..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human_image/train/dataset_info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_human_image/train/state.json b/tests/data/lerobot/aloha_sim_insertion_human_image/train/state.json deleted file mode 100644 index 2b93dc6c..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_human_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "9fe3a4bf575a8a67", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/episode_data_index.safetensors deleted file mode 100644 index 7359c867..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e910eac6a1c94f4c194b05e908dcc973dd4227b18eb80c374d7a1150f166c34 -size 136 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/info.json b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/stats.safetensors deleted file mode 100644 index 8c330df9..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a85e57264325cc0927450e30a85dd0eacb0a70ebdb00c4e2ac043a57f9c200e2 -size 2904 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_insertion_scripted/train/data-00000-of-00001.arrow deleted file mode 100644 index 069d2153..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:171a9efc9c45601688821936ec9a1dcf91f16b1bbab4e8246f18b4d4cc6ac6ee -size 80432 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/train/dataset_info.json b/tests/data/lerobot/aloha_sim_insertion_scripted/train/dataset_info.json deleted file mode 100644 index c6f7b938..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/train/dataset_info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/train/state.json b/tests/data/lerobot/aloha_sim_insertion_scripted/train/state.json deleted file mode 100644 index bc270e57..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "e7db591f2ec3eeec", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted/videos/observation.images.top_episode_000000.mp4 b/tests/data/lerobot/aloha_sim_insertion_scripted/videos/observation.images.top_episode_000000.mp4 deleted file mode 100644 index 14c5b39b..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted/videos/observation.images.top_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cb4810728c3d642326bf5fa2cd1632a60e68880faace4ec7368c6ee7992dabfb -size 1297818 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index 4195a89f..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4500f31e62f0928a837fa71783acacda0db516c7b00d0586a41ea5fd8fc5e772 -size 928 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/info.json b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/info.json deleted file mode 100644 index ecd6cc90..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/stats.safetensors deleted file mode 100644 index 26f256f5..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0227d4e9e3b43a86bf33fbd68683ede537fdeab1b53f2ebf155620e10054352f -size 2904 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/data-00000-of-00001.arrow deleted file mode 100644 index 735a420b..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1bdf02ecf7d5fc502f6dd9f520c636828a5988ad16a69a137780a824f94f8112 -size 10782640 diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/dataset_info.json b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/dataset_info.json deleted file mode 100644 index 69f80830..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/dataset_info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/state.json b/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/state.json deleted file mode 100644 index 8d9b0d31..00000000 --- a/tests/data/lerobot/aloha_sim_insertion_scripted_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "9be74ce70441e055", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/episode_data_index.safetensors deleted file mode 100644 index 7359c867..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e910eac6a1c94f4c194b05e908dcc973dd4227b18eb80c374d7a1150f166c34 -size 136 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/info.json b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/stats.safetensors deleted file mode 100644 index f5de9ab2..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95b34b7eeeba8216732f1977f05054e904393af4987a66634ecb3785b61540cb -size 2904 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/data-00000-of-00001.arrow deleted file mode 100644 index d93a2a42..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58680925b02438e0af27f1280df443fd1036d2e5c7f92e9982d4e559c03fe7a2 -size 80432 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/dataset_info.json b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/dataset_info.json deleted file mode 100644 index c6f7b938..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/dataset_info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/state.json b/tests/data/lerobot/aloha_sim_transfer_cube_human/train/state.json deleted file mode 100644 index ecba0585..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "fe4ace534342bfad", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human/videos/observation.images.top_episode_000000.mp4 b/tests/data/lerobot/aloha_sim_transfer_cube_human/videos/observation.images.top_episode_000000.mp4 deleted file mode 100644 index dc8032a6..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human/videos/observation.images.top_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef794082f52304f1b4a7ed6be6e4a44db075e604baa99b1a353cafb52dd7ef0a -size 1305598 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index 4195a89f..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4500f31e62f0928a837fa71783acacda0db516c7b00d0586a41ea5fd8fc5e772 -size 928 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/info.json b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/info.json deleted file mode 100644 index ecd6cc90..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/stats.safetensors deleted file mode 100644 index 544874c4..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:09de36f2d6786e65e26d4602e00f9097f63a087a6a4f36e98c5367724acfc755 -size 2904 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/data-00000-of-00001.arrow deleted file mode 100644 index a8ee8a54..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2f35b1ce169c6355536405718409041da7969cc351d62ef0d2c6f6351ac009e2 -size 10640376 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/dataset_info.json b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/dataset_info.json deleted file mode 100644 index 69f80830..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/dataset_info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/state.json b/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/state.json deleted file mode 100644 index ea566989..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_human_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "d7e89e41d66a244c", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/episode_data_index.safetensors deleted file mode 100644 index 7359c867..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e910eac6a1c94f4c194b05e908dcc973dd4227b18eb80c374d7a1150f166c34 -size 136 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/info.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/stats.safetensors deleted file mode 100644 index e8de5972..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ddd841d6c38f86a66bc6cae1b94a7a2b20ade873c7b0b6803ce53ad8e57ed7bb -size 2904 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/data-00000-of-00001.arrow deleted file mode 100644 index def90cdd..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6f861c1477a21509ba5fa68d64bb758e29dfa3d7650d89cd33133f088762493a -size 80432 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/dataset_info.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/dataset_info.json deleted file mode 100644 index c6f7b938..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/dataset_info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/state.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/state.json deleted file mode 100644 index d773ca90..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "88443018205d3133", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/videos/observation.images.top_episode_000000.mp4 b/tests/data/lerobot/aloha_sim_transfer_cube_scripted/videos/observation.images.top_episode_000000.mp4 deleted file mode 100644 index 63b76482..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted/videos/observation.images.top_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5b6dedec5ad69dfe707bdad7123bd7c0fee6013c3bda30265baa166f568f7d7f -size 1426630 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index 4195a89f..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4500f31e62f0928a837fa71783acacda0db516c7b00d0586a41ea5fd8fc5e772 -size 928 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/info.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/info.json deleted file mode 100644 index ecd6cc90..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/stats.safetensors b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/stats.safetensors deleted file mode 100644 index 54946e8c..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5dae4fa688991d97145fd975d317b24b177f674cc57e53ef4caba1413fe1aad8 -size 2904 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/data-00000-of-00001.arrow deleted file mode 100644 index 61979acb..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3948750400c273b7e3ef2998fa84ca7a520d8972c8759c2428ff6fbdc2bd8fb7 -size 11505144 diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/dataset_info.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/dataset_info.json deleted file mode 100644 index 69f80830..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/dataset_info.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.top": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/state.json b/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/state.json deleted file mode 100644 index 6d19c093..00000000 --- a/tests/data/lerobot/aloha_sim_transfer_cube_scripted_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "b9455593efc2e547", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_battery/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_battery/meta_data/episode_data_index.safetensors deleted file mode 100644 index f9b77116..00000000 --- a/tests/data/lerobot/aloha_static_battery/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a1f252f4880c54e2f6b7ee12b644115b470b8bdfc90c0c6fc7914a5a8e5a785 -size 136 diff --git a/tests/data/lerobot/aloha_static_battery/meta_data/info.json b/tests/data/lerobot/aloha_static_battery/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_battery/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_battery/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_battery/meta_data/stats.safetensors deleted file mode 100644 index ca9a6daa..00000000 --- a/tests/data/lerobot/aloha_static_battery/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7e5083e83c109e2e11d3f4a0428d592dc75d16ab8c5a2c63fab9bc5ecd13bef -size 4208 diff --git a/tests/data/lerobot/aloha_static_battery/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_battery/train/data-00000-of-00001.arrow deleted file mode 100644 index 391645ee..00000000 --- a/tests/data/lerobot/aloha_static_battery/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d36e6e644b5e8ad65bb98c4be5ed47c9ecd37c4cbd7f3e0e66817dbcf33e7f2 -size 240928 diff --git a/tests/data/lerobot/aloha_static_battery/train/dataset_info.json b/tests/data/lerobot/aloha_static_battery/train/dataset_info.json deleted file mode 100644 index 6e1b1664..00000000 --- a/tests/data/lerobot/aloha_static_battery/train/dataset_info.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_battery/train/state.json b/tests/data/lerobot/aloha_static_battery/train/state.json deleted file mode 100644 index 6117f07d..00000000 --- a/tests/data/lerobot/aloha_static_battery/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "a10d9c386f0a87b8", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 97b62e0c..00000000 --- a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3de96889703429c1b9270e953a264d23bf9d45405138843fb12c782b206aa3c0 -size 4234064 diff --git a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 78a18e74..00000000 --- a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f1b9baed0ea207f5607185b33a5f8afacad5178768eef9a41c6fbe314da4f4b5 -size 4425114 diff --git a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index da6cfbe5..00000000 --- a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecabd8ec37ed1a10bb37229e341a8ba17ba92d12ef39bed2f158e01a18336548 -size 3528455 diff --git a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 23081b2f..00000000 --- a/tests/data/lerobot/aloha_static_battery/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:673d66f6f310032cf69bb256a129c990fdccf66a910dd6b997b9abcf3ce32f1d -size 3492584 diff --git a/tests/data/lerobot/aloha_static_candy/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_candy/meta_data/episode_data_index.safetensors deleted file mode 100644 index 7f0fa524..00000000 --- a/tests/data/lerobot/aloha_static_candy/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fbdd33bb556b796a1c09d62b00379af1b8769c1c1e1b2e84cb4f3942d45522df -size 136 diff --git a/tests/data/lerobot/aloha_static_candy/meta_data/info.json b/tests/data/lerobot/aloha_static_candy/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_candy/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_candy/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_candy/meta_data/stats.safetensors deleted file mode 100644 index 46e56ece..00000000 --- a/tests/data/lerobot/aloha_static_candy/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5e09ac64a47638660b4993e0e7182b49e914d0ff720a57e1aeb7dece058d0c0 -size 4208 diff --git a/tests/data/lerobot/aloha_static_candy/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_candy/train/data-00000-of-00001.arrow deleted file mode 100644 index 0679fa4c..00000000 --- a/tests/data/lerobot/aloha_static_candy/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e03257da37ff6c6c37551bd2edf7bfaf832bbd9856d074978633a80cb32ee1d0 -size 280536 diff --git a/tests/data/lerobot/aloha_static_candy/train/dataset_info.json b/tests/data/lerobot/aloha_static_candy/train/dataset_info.json deleted file mode 100644 index 6e1b1664..00000000 --- a/tests/data/lerobot/aloha_static_candy/train/dataset_info.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_candy/train/state.json b/tests/data/lerobot/aloha_static_candy/train/state.json deleted file mode 100644 index 2891138f..00000000 --- a/tests/data/lerobot/aloha_static_candy/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "b091c4b1ab66df72", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 6e0a31c0..00000000 --- a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c17c51737f82d63ed9a605da08173c2db40678e193a07efb08f3c9055fcebe1 -size 5176124 diff --git a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index e225c4b7..00000000 --- a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a299bc238b74f3908006def093555263c91f4e7bb9b59fb979f8a62bb89c300f -size 4089551 diff --git a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 58fb766b..00000000 --- a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:009ead09836d81cee6ef601f6a0a1196d6806c10aca5ffd00d351a902f19dc1f -size 4038040 diff --git a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 8291dc97..00000000 --- a/tests/data/lerobot/aloha_static_candy/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b87f575b0661b3f3c4dc1d13dbd9abbc8edc101355cf5093e16a24cf1bf000da -size 4168909 diff --git a/tests/data/lerobot/aloha_static_coffee/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_coffee/meta_data/episode_data_index.safetensors deleted file mode 100644 index 0b923914..00000000 --- a/tests/data/lerobot/aloha_static_coffee/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb6de86fee6ff3cc5d61d591fe480a50feb289c05770e3f4b76e24138b571c65 -size 136 diff --git a/tests/data/lerobot/aloha_static_coffee/meta_data/info.json b/tests/data/lerobot/aloha_static_coffee/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_coffee/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_coffee/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_coffee/meta_data/stats.safetensors deleted file mode 100644 index 51e60a73..00000000 --- a/tests/data/lerobot/aloha_static_coffee/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2dd6cc89aa3673a4ade4908b4cf0deccaa222492ae0ab05db9c984cd0f0aa21b -size 4752 diff --git a/tests/data/lerobot/aloha_static_coffee/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_coffee/train/data-00000-of-00001.arrow deleted file mode 100644 index 2bb80f7c..00000000 --- a/tests/data/lerobot/aloha_static_coffee/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8a79f25b7621be30f7975f8a18dde8f5595284a1e4e91ba3b7c2aad7439a8b5a -size 502200 diff --git a/tests/data/lerobot/aloha_static_coffee/train/dataset_info.json b/tests/data/lerobot/aloha_static_coffee/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_coffee/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_coffee/train/state.json b/tests/data/lerobot/aloha_static_coffee/train/state.json deleted file mode 100644 index ffd7c811..00000000 --- a/tests/data/lerobot/aloha_static_coffee/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "422b8bf71785665b", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index d853bf59..00000000 --- a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:02bc95dcc0922f5d7d759861e6e5151f4aa068631d5491e82badfc043f68cfd2 -size 9964446 diff --git a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 63828138..00000000 --- a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2a823199fe18164212c37b340957f1266a9566efde5076ec9ae460d1843f022f -size 6332558 diff --git a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index aaeeea97..00000000 --- a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8cb539372edc0ccaf82d250fce661420d2a4fb43b75fe3b5de6147b555ba1f8 -size 7382575 diff --git a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 69375818..00000000 --- a/tests/data/lerobot/aloha_static_coffee/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8be13f90741ed8bfe761693d9da9a6ba45b380f419cb4fa47cc17c23d36c7947 -size 6548219 diff --git a/tests/data/lerobot/aloha_static_coffee_new/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_coffee_new/meta_data/episode_data_index.safetensors deleted file mode 100644 index 2a11302f..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7841afb9ef99c0601448c43a20c25eb029440c73816319c67c5d7e1c5cde2445 -size 136 diff --git a/tests/data/lerobot/aloha_static_coffee_new/meta_data/info.json b/tests/data/lerobot/aloha_static_coffee_new/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_coffee_new/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_coffee_new/meta_data/stats.safetensors deleted file mode 100644 index 4097f793..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e5f88e742e370bff8eb93bd803815cd8466079578a2be887e78e17786be71858 -size 4752 diff --git a/tests/data/lerobot/aloha_static_coffee_new/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_coffee_new/train/data-00000-of-00001.arrow deleted file mode 100644 index 1caf1353..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1441f982dcda008d470b3df1283431584e05838b69a374e5afc45483132baa41 -size 683048 diff --git a/tests/data/lerobot/aloha_static_coffee_new/train/dataset_info.json b/tests/data/lerobot/aloha_static_coffee_new/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_coffee_new/train/state.json b/tests/data/lerobot/aloha_static_coffee_new/train/state.json deleted file mode 100644 index 497ca868..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "c454546244fc6490", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 931e71f5..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1e43972cb5b36bc8bb2b70bf3d73f8f66dde611d73909265d3c25494b0c6efc -size 13481674 diff --git a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 852d7264..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a389119d729689fd1c238ebfd257647dd002ef9f3ed25881dfa4fd7795bfa6d1 -size 8245834 diff --git a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 78c83322..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c2fca755e1404b3cf7ac1aaf8369c5ecdff6b944fbcccb7a805e796de80304f -size 9686407 diff --git a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 3fcaf4b4..00000000 --- a/tests/data/lerobot/aloha_static_coffee_new/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecca1c1e19afcd36b51a57340f814f98ffcabbe957e2c9537af364cbfb1f9890 -size 9615887 diff --git a/tests/data/lerobot/aloha_static_cups_open/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_cups_open/meta_data/episode_data_index.safetensors deleted file mode 100644 index 7359c867..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e910eac6a1c94f4c194b05e908dcc973dd4227b18eb80c374d7a1150f166c34 -size 136 diff --git a/tests/data/lerobot/aloha_static_cups_open/meta_data/info.json b/tests/data/lerobot/aloha_static_cups_open/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_cups_open/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_cups_open/meta_data/stats.safetensors deleted file mode 100644 index bc2def31..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9080d7e7dd70914305aa93e6933e9754b0ee4fd06411507906f91a2c4337f2c3 -size 4208 diff --git a/tests/data/lerobot/aloha_static_cups_open/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_cups_open/train/data-00000-of-00001.arrow deleted file mode 100644 index 8d401d98..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8fde6f0b494eedd8a70d31bb98430cd430d158bfc33faf7580bdabe65a33ec1c -size 161640 diff --git a/tests/data/lerobot/aloha_static_cups_open/train/dataset_info.json b/tests/data/lerobot/aloha_static_cups_open/train/dataset_info.json deleted file mode 100644 index 6e1b1664..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/train/dataset_info.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_cups_open/train/state.json b/tests/data/lerobot/aloha_static_cups_open/train/state.json deleted file mode 100644 index c73bb59d..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "11da1e334acff95f", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 49b56c74..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4f2bb2a075e9f27bebca01e00927d3f86ae4573e6ed89a2e7f711069f8b08aec -size 2846107 diff --git a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 20c88c50..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c832bb51ce9e80ea5bf6273a35e9322f5535136267bf4bf4907e2673af03fd0 -size 1936034 diff --git a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 8ef564ae..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a6da253a27f6345966a644edb2fab1f7841c980c71db9960d3c04c853d9e363e -size 2293201 diff --git a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 6f58d09c..00000000 --- a/tests/data/lerobot/aloha_static_cups_open/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f130c55c4a821fadcb2b264827b9ffdebfbfb33017e29351476253101748275 -size 2830602 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/episode_data_index.safetensors deleted file mode 100644 index f9b77116..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a1f252f4880c54e2f6b7ee12b644115b470b8bdfc90c0c6fc7914a5a8e5a785 -size 136 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/info.json b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/stats.safetensors deleted file mode 100644 index 2f1bd76c..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a11f160c819a5b5ab2cbb7d7cc60d6eb6cfbbde32a5646fad0d2e04c1c7fa796 -size 4752 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_fork_pick_up/train/data-00000-of-00001.arrow deleted file mode 100644 index 4447e79d..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bac9e519935d89880a9f3733a1ec7a2d0e5b3658c64ca500c1f45606d5237288 -size 274824 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/train/dataset_info.json b/tests/data/lerobot/aloha_static_fork_pick_up/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/train/state.json b/tests/data/lerobot/aloha_static_fork_pick_up/train/state.json deleted file mode 100644 index c7a59cef..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "81e59c9658f08c8f", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 829fafda..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f8280a2eeada14472275590b2faaf940e62f6a4b375934557599895452ed0ed5 -size 5331384 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 41a29635..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3ded9b0e8c1278f9a0e4848a4dd8ae706aa3ed7ee5180668b38e59910d7d3e3e -size 3481512 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 9b6c6037..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40d5c32ea883c0f79daa8c55a1014583615f955b656a61bc5d4ea227e5fdb562 -size 3154844 diff --git a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 6cf28973..00000000 --- a/tests/data/lerobot/aloha_static_fork_pick_up/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:906be454d0b1ef9f536fa6f38d102a9a562894caf1dfee9fb748d8b711048aaf -size 4339943 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/episode_data_index.safetensors deleted file mode 100644 index f9b77116..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a1f252f4880c54e2f6b7ee12b644115b470b8bdfc90c0c6fc7914a5a8e5a785 -size 136 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/info.json b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_pingpong_test/meta_data/stats.safetensors deleted file mode 100644 index a0350a0e..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4abbdaeb8375f3cddf4b7061f6c74912b383f8e01c00217e5f14683e3105c59a -size 4752 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_pingpong_test/train/data-00000-of-00001.arrow deleted file mode 100644 index 81f2f788..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad40332f57444cca299a1ef83288d7aa273a0ac5065fc6c1330fcd2e48527be6 -size 274824 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/train/dataset_info.json b/tests/data/lerobot/aloha_static_pingpong_test/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_pingpong_test/train/state.json b/tests/data/lerobot/aloha_static_pingpong_test/train/state.json deleted file mode 100644 index 72b173f6..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "3a42b420b837d94c", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 609df386..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90934fe5a7e7fe84c6c7236dc4045d8b2901b124bdc966f56ba103a1774dbbf7 -size 5096173 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 55e23560..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:edc41b07b9f7eb07bc5483ceb3287eccb53dddeeffa8838297942e8ba9543e38 -size 4767165 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 49fd8838..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18988d6d607147453a682bcf75c3b46d5bbd3038466811b9a45076df4fdb75eb -size 3352062 diff --git a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 54d50736..00000000 --- a/tests/data/lerobot/aloha_static_pingpong_test/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:51dbbee9dff53732a52982d0797341b6c81c3b53769735ea9e825a6455039c9c -size 4513553 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/episode_data_index.safetensors deleted file mode 100644 index 985f277b..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:12a8c71e7387023787ca4fb0c5ee06a563132a518019b9d7915616abafb28cd8 -size 136 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/info.json b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_pro_pencil/meta_data/stats.safetensors deleted file mode 100644 index 01b61aef..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:861e71f81d08bfcf8595b84e98d86fd996523cfb8098cd742a109c508ffb2ff7 -size 4752 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_pro_pencil/train/data-00000-of-00001.arrow deleted file mode 100644 index 35fa50fe..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4c028792c9e469f24adeafcdc466e5f58eb8aea80f6a1d6328d76d5afdd711c1 -size 161792 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/train/dataset_info.json b/tests/data/lerobot/aloha_static_pro_pencil/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_pro_pencil/train/state.json b/tests/data/lerobot/aloha_static_pro_pencil/train/state.json deleted file mode 100644 index 0f3667fd..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "9a507636d8075334", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index b07b9d94..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5e00a39a99a06793d273410e168271d4584bfd49b0b38e2b63f2c2ab7d18d49 -size 5639316 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 92312570..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d325ac5e943c77dae275c891ad543511ee6ba262b14effe782ce8509062fbb6c -size 5519788 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index d491e6c1..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:762c5c2416bbe7ac500c226cd0438d1d76856c8fc3004b7426739b103da405d0 -size 4219554 diff --git a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index b7009d62..00000000 --- a/tests/data/lerobot/aloha_static_pro_pencil/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:743b425906c1a337e148ec7b3f6558306ef03771be6d5e7934b2a3b3095e7a91 -size 5565327 diff --git a/tests/data/lerobot/aloha_static_screw_driver/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_screw_driver/meta_data/episode_data_index.safetensors deleted file mode 100644 index 7359c867..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e910eac6a1c94f4c194b05e908dcc973dd4227b18eb80c374d7a1150f166c34 -size 136 diff --git a/tests/data/lerobot/aloha_static_screw_driver/meta_data/info.json b/tests/data/lerobot/aloha_static_screw_driver/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_screw_driver/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_screw_driver/meta_data/stats.safetensors deleted file mode 100644 index 76f199e5..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:723f39508e41367ec7e97a55fcb9f51ff20b2969112de7f69e8a25a0ca6b2d0d -size 4752 diff --git a/tests/data/lerobot/aloha_static_screw_driver/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_screw_driver/train/data-00000-of-00001.arrow deleted file mode 100644 index 0177fd66..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a54e4d86b76758fe79ba6bcb8f59054f6226ec46c9d3cb41b6dd65b7c2e757c4 -size 184336 diff --git a/tests/data/lerobot/aloha_static_screw_driver/train/dataset_info.json b/tests/data/lerobot/aloha_static_screw_driver/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_screw_driver/train/state.json b/tests/data/lerobot/aloha_static_screw_driver/train/state.json deleted file mode 100644 index 15a62872..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "10262592ed99720b", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 8cb15438..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a64657a71c4819894cf913ae783656ca2a103e98de38d3d7063b785b85c46b36 -size 3065319 diff --git a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 3188d498..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3908ce137ddc2151885033bac524eea11c066d14c06b94cd7be37026082a880e -size 2503180 diff --git a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index f6e8bb7b..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d20d151ab5eae5c4f663d98016952a688f68e62e4dc53f827a7f55bb69c74677 -size 2050832 diff --git a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 4fa22253..00000000 --- a/tests/data/lerobot/aloha_static_screw_driver/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bb1b5daab5b68447fce5ddeff5bea8f6ff6525e3cf1a4bee2506e69d2628efef -size 2731471 diff --git a/tests/data/lerobot/aloha_static_tape/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_tape/meta_data/episode_data_index.safetensors deleted file mode 100644 index 7f0fa524..00000000 --- a/tests/data/lerobot/aloha_static_tape/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fbdd33bb556b796a1c09d62b00379af1b8769c1c1e1b2e84cb4f3942d45522df -size 136 diff --git a/tests/data/lerobot/aloha_static_tape/meta_data/info.json b/tests/data/lerobot/aloha_static_tape/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_tape/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_tape/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_tape/meta_data/stats.safetensors deleted file mode 100644 index a7fa29a1..00000000 --- a/tests/data/lerobot/aloha_static_tape/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:04ccd6387997e1e6b904b77c05e2a1a88d82ff13144d9c83a4bf14f834ac23c4 -size 4208 diff --git a/tests/data/lerobot/aloha_static_tape/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_tape/train/data-00000-of-00001.arrow deleted file mode 100644 index 4c6e9a17..00000000 --- a/tests/data/lerobot/aloha_static_tape/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3ee1bdb3085dc4554f58ccad0db48ca9ad153d866faa4b2ba42afebb3e3206b6 -size 280536 diff --git a/tests/data/lerobot/aloha_static_tape/train/dataset_info.json b/tests/data/lerobot/aloha_static_tape/train/dataset_info.json deleted file mode 100644 index 6e1b1664..00000000 --- a/tests/data/lerobot/aloha_static_tape/train/dataset_info.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_tape/train/state.json b/tests/data/lerobot/aloha_static_tape/train/state.json deleted file mode 100644 index 3868bc11..00000000 --- a/tests/data/lerobot/aloha_static_tape/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "21220fdf37e62ff3", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 21952f99..00000000 --- a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5cd630c57df7946731579056d41a3f388cda376133f21229b955c3a1d2ec1a7b -size 5222989 diff --git a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index f5a6c372..00000000 --- a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:937e589e630b512357e9f9e376bdb4c3d03f18a622a0df51c6ad2262c69f9027 -size 3855392 diff --git a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 47165f68..00000000 --- a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:38286b573f1a651a97ce1a8ea39e142c39e5849b761300e5cb229d54f808586b -size 4740599 diff --git a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 5c2328c8..00000000 --- a/tests/data/lerobot/aloha_static_tape/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:144447ef9d748c661aeecb1e929ce144e4b3f674452830b5398b2c5726a01c86 -size 3343679 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/episode_data_index.safetensors deleted file mode 100644 index f9b77116..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a1f252f4880c54e2f6b7ee12b644115b470b8bdfc90c0c6fc7914a5a8e5a785 -size 136 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/info.json b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_thread_velcro/meta_data/stats.safetensors deleted file mode 100644 index 45f661a7..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:92baca28bb8d454ae9555fe07d5c792e0fc88ab4973eb4a2325c47b4be1424dc -size 4208 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_thread_velcro/train/data-00000-of-00001.arrow deleted file mode 100644 index 64fa2986..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5624d9494a71d7c44b91d512cfe3e0db0eca97fae168be0d2fd7ee98af17d4e7 -size 240928 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/train/dataset_info.json b/tests/data/lerobot/aloha_static_thread_velcro/train/dataset_info.json deleted file mode 100644 index 6e1b1664..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/train/dataset_info.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_thread_velcro/train/state.json b/tests/data/lerobot/aloha_static_thread_velcro/train/state.json deleted file mode 100644 index 9138672c..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "14c58a05250fea1e", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 601b6887..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:225a82436ad55cd5a2326b48fabd3410075e1f0682cedb209de476ca7ce47add -size 4520921 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 192634cf..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c1e46b3dcd95ff714794ac5ae65952b12348d73644ab8ac727dc1b70393045fc -size 4133160 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index a9daaade..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:adb7ed52d365436d2657acee6854c5f45dc4454f97181a38f4f4ab0d3438eb22 -size 2959951 diff --git a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index acb41675..00000000 --- a/tests/data/lerobot/aloha_static_thread_velcro/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f73bd5e9a96a208da45f753061f336f5057d645376efe66d5763bd6a0c9a5d9e -size 4729383 diff --git a/tests/data/lerobot/aloha_static_towel/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_towel/meta_data/episode_data_index.safetensors deleted file mode 100644 index 22728a5a..00000000 --- a/tests/data/lerobot/aloha_static_towel/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ee4f3c571ce6822e157e60133bee02245febee93eba5d35458d3c83345f7b87 -size 136 diff --git a/tests/data/lerobot/aloha_static_towel/meta_data/info.json b/tests/data/lerobot/aloha_static_towel/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_towel/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_towel/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_towel/meta_data/stats.safetensors deleted file mode 100644 index 6b5b557a..00000000 --- a/tests/data/lerobot/aloha_static_towel/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47228ea52326c71f3954267beb6b3c7e32743e86c5f1da5156855396ef11f516 -size 4752 diff --git a/tests/data/lerobot/aloha_static_towel/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_towel/train/data-00000-of-00001.arrow deleted file mode 100644 index 326af02d..00000000 --- a/tests/data/lerobot/aloha_static_towel/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17d6302916fde411efe68e6e0af268055b1bedd0dc5bc7b4f9a3d817eb3f6674 -size 229608 diff --git a/tests/data/lerobot/aloha_static_towel/train/dataset_info.json b/tests/data/lerobot/aloha_static_towel/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_towel/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_towel/train/state.json b/tests/data/lerobot/aloha_static_towel/train/state.json deleted file mode 100644 index 221370d7..00000000 --- a/tests/data/lerobot/aloha_static_towel/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "8486b80b237882b4", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index a5aad0e2..00000000 --- a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14e6bea849e19813133804ae59017423e11928360fc28b9a7f193dbe2b893f52 -size 4190650 diff --git a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index d7179f11..00000000 --- a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a09f4e11d004b1906290ac2d51391b1c392e71670a36a3f6a72cfa23d27f7eb1 -size 3352519 diff --git a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 67386d2f..00000000 --- a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:56659c0402b670b6b740eea140dfdd46e8b0e02a60c0874f6ebe10bb13f38c6c -size 2752961 diff --git a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 470fc5af..00000000 --- a/tests/data/lerobot/aloha_static_towel/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ef631bde5c32f1a0eebcde9325494d41d701acec961ce7d8003a23bfc031d317 -size 2092604 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/episode_data_index.safetensors deleted file mode 100644 index 22728a5a..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ee4f3c571ce6822e157e60133bee02245febee93eba5d35458d3c83345f7b87 -size 136 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/info.json b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_vinh_cup/meta_data/stats.safetensors deleted file mode 100644 index bd2da856..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b8646242adb25c8986e2200a57c19de7fe126af12f4f3593ff53d31e9e3d6339 -size 4752 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_vinh_cup/train/data-00000-of-00001.arrow deleted file mode 100644 index 4713d82c..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4f646f6fd25bc5f5d409ae6dde8b3b715e5cd2314bba1dbb2d35de5873d8402c -size 229608 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/train/dataset_info.json b/tests/data/lerobot/aloha_static_vinh_cup/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_vinh_cup/train/state.json b/tests/data/lerobot/aloha_static_vinh_cup/train/state.json deleted file mode 100644 index e89c12fd..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "6ff6a3ee1d8aaeb1", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 29e32fae..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d844d516cdaa2fa70982f79fb536255cce7ee449df9abad1ebdb23443b650413 -size 3417805 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index c1728749..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f51808794eccb7037e16fdf88ba552591dbac249cb6716454366686437903113 -size 2365043 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 8309fd78..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3c2c343a5da318d30d63929ca47912253df6fc515f5ea2c7678ccd9d3b3aac93 -size 2635912 diff --git a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index a42bdb69..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bbfa7e786ab3fc1debfe2c6d3822721e8f1d83fb100f2999f5f4793adcfbc7b5 -size 3822422 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/episode_data_index.safetensors deleted file mode 100644 index 22728a5a..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ee4f3c571ce6822e157e60133bee02245febee93eba5d35458d3c83345f7b87 -size 136 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/info.json b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/stats.safetensors deleted file mode 100644 index 86a7ea3d..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6922984e369fe6d5bea801c7d4c5cd157ba16d9c695c115659ffaca8d1acca78 -size 4752 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_vinh_cup_left/train/data-00000-of-00001.arrow deleted file mode 100644 index 0f0d4c5a..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:823715ff128eb4034337d2bc5b2323b0ffc5f364ff301837e621fa74a4b7fd69 -size 229608 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/train/dataset_info.json b/tests/data/lerobot/aloha_static_vinh_cup_left/train/dataset_info.json deleted file mode 100644 index ddbabc2e..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/train/dataset_info.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "observation.effort": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/train/state.json b/tests/data/lerobot/aloha_static_vinh_cup_left/train/state.json deleted file mode 100644 index 59f3011a..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "bddb2bdfc74a09b6", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index 91e63217..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa6a9d7d7451024b5b51eac0a897124068728900ee25b0c260cf157d676a2392 -size 3416683 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 012f0370..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ae3aa84ac27a46e153a31514fbc30d975bb253bb9c5b881e6eb0ff2271efa27 -size 2739550 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 3032c894..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b63077b691760b5ee14c76cc80f2a7cc79d971d34f13f832d775e87867e56fa6 -size 2718802 diff --git a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 304c6f97..00000000 --- a/tests/data/lerobot/aloha_static_vinh_cup_left/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f9808fd02c0d9605e5386d55f3504da64ffc982c498ad8b3bf41a1481c963e0 -size 2775043 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/episode_data_index.safetensors b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/episode_data_index.safetensors deleted file mode 100644 index a2a88bd4..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9eaa675aad8b22db4ade6d922e57994fc79dc51d53007abadf28aa968a2434c2 -size 136 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/info.json b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/stats.safetensors b/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/stats.safetensors deleted file mode 100644 index 58e3a030..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39a349eeba5b6f2a9cb4a5ebb33e250766130eb0c40f738c94f13926b8c2cd0c -size 4208 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/train/data-00000-of-00001.arrow b/tests/data/lerobot/aloha_static_ziploc_slide/train/data-00000-of-00001.arrow deleted file mode 100644 index db9ce14f..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:80da670129e42cb85e93a9f6779c27b081bbaa7e1ecd68577f78877ac3726e70 -size 122088 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/train/dataset_info.json b/tests/data/lerobot/aloha_static_ziploc_slide/train/dataset_info.json deleted file mode 100644 index 6e1b1664..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/train/dataset_info.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_high": { - "_type": "VideoFrame" - }, - "observation.images.cam_left_wrist": { - "_type": "VideoFrame" - }, - "observation.images.cam_low": { - "_type": "VideoFrame" - }, - "observation.images.cam_right_wrist": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 14, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/train/state.json b/tests/data/lerobot/aloha_static_ziploc_slide/train/state.json deleted file mode 100644 index b44abbd6..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "615d90b41d20e95f", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_high_episode_000000.mp4 b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_high_episode_000000.mp4 deleted file mode 100644 index aef6cde6..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_high_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad76776e4304d222a986a40d569f43acc622f0c6a470cd30bbffb11af6731103 -size 2644027 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_left_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_left_wrist_episode_000000.mp4 deleted file mode 100644 index 17085522..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_left_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad28fff0af90d8c6d7263da94d453c22f3f234b2b9f1807d8e83b9a92863b021 -size 1780791 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_low_episode_000000.mp4 b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_low_episode_000000.mp4 deleted file mode 100644 index 8ecd7ba8..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_low_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8909319ac2d8c9a3f1b777758d333e0750428bc74c85a4deaf2f5ee0afe24ab0 -size 3350350 diff --git a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_right_wrist_episode_000000.mp4 b/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_right_wrist_episode_000000.mp4 deleted file mode 100644 index 6060d9aa..00000000 --- a/tests/data/lerobot/aloha_static_ziploc_slide/videos/observation.images.cam_right_wrist_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1355ad8ec3a885cb11da325ca412e9e47b29289953f9220992fb8fa29eea88f3 -size 1737591 diff --git a/tests/data/lerobot/pusht/meta_data/episode_data_index.safetensors b/tests/data/lerobot/pusht/meta_data/episode_data_index.safetensors deleted file mode 100644 index 600f8e0f..00000000 --- a/tests/data/lerobot/pusht/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1cd3db853d0f92e1696fe297c550200219d85befdeb5b5eacae4b10a74d9896 -size 136 diff --git a/tests/data/lerobot/pusht/meta_data/info.json b/tests/data/lerobot/pusht/meta_data/info.json deleted file mode 100644 index 810b44dd..00000000 --- a/tests/data/lerobot/pusht/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 10, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/pusht/meta_data/stats.safetensors b/tests/data/lerobot/pusht/meta_data/stats.safetensors deleted file mode 100644 index d265f77e..00000000 --- a/tests/data/lerobot/pusht/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:52723265cba2ec839a5fcf75733813ecf91019ec0f7a49865fe233616e674583 -size 3056 diff --git a/tests/data/lerobot/pusht/train/data-00000-of-00001.arrow b/tests/data/lerobot/pusht/train/data-00000-of-00001.arrow deleted file mode 100644 index 43749315..00000000 --- a/tests/data/lerobot/pusht/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8552d4ac6b618a5b2741e174d51f1d4fc0e5f4e6cc7026bebdb6ed145373b042 -size 18320 diff --git a/tests/data/lerobot/pusht/train/dataset_info.json b/tests/data/lerobot/pusht/train/dataset_info.json deleted file mode 100644 index a0db336b..00000000 --- a/tests/data/lerobot/pusht/train/dataset_info.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 2, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 2, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "next.success": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/pusht/train/state.json b/tests/data/lerobot/pusht/train/state.json deleted file mode 100644 index ba50ac27..00000000 --- a/tests/data/lerobot/pusht/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "9882ae9a28bdcc9c", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/pusht/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/pusht/videos/observation.image_episode_000000.mp4 deleted file mode 100644 index 3bfb8f67..00000000 --- a/tests/data/lerobot/pusht/videos/observation.image_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4fdd49a84b749d0853e33366437e26fe184140b413dd23d2576fe1a83c0d40b9 -size 41125 diff --git a/tests/data/lerobot/pusht_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/pusht_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index 529898ff..00000000 --- a/tests/data/lerobot/pusht_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ab094bd9de1a90273cefa1e02a84b3c3916e7812b9c73932f8f92ab2f1b9ba9 -size 3432 diff --git a/tests/data/lerobot/pusht_image/meta_data/info.json b/tests/data/lerobot/pusht_image/meta_data/info.json deleted file mode 100644 index 24555833..00000000 --- a/tests/data/lerobot/pusht_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 10, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/pusht_image/meta_data/stats.safetensors b/tests/data/lerobot/pusht_image/meta_data/stats.safetensors deleted file mode 100644 index d788079d..00000000 --- a/tests/data/lerobot/pusht_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:65ceff2650ebbba2ee024be9ec083b7f8f20a69cd2c5bd6624382fe5fb974697 -size 3056 diff --git a/tests/data/lerobot/pusht_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/pusht_image/train/data-00000-of-00001.arrow deleted file mode 100644 index 01a08dad..00000000 --- a/tests/data/lerobot/pusht_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c453a47e3852f3ca09eedfa0f47fabacccff676809678fc3bded273d51ff25e3 -size 197792 diff --git a/tests/data/lerobot/pusht_image/train/dataset_info.json b/tests/data/lerobot/pusht_image/train/dataset_info.json deleted file mode 100644 index aefe4785..00000000 --- a/tests/data/lerobot/pusht_image/train/dataset_info.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 2, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 2, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "next.success": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/pusht_image/train/state.json b/tests/data/lerobot/pusht_image/train/state.json deleted file mode 100644 index 4f2580ac..00000000 --- a/tests/data/lerobot/pusht_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "41a92a413a11b522", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/pusht_keypoints/meta_data/episode_data_index.safetensors b/tests/data/lerobot/pusht_keypoints/meta_data/episode_data_index.safetensors deleted file mode 100644 index 600f8e0f..00000000 --- a/tests/data/lerobot/pusht_keypoints/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1cd3db853d0f92e1696fe297c550200219d85befdeb5b5eacae4b10a74d9896 -size 136 diff --git a/tests/data/lerobot/pusht_keypoints/meta_data/info.json b/tests/data/lerobot/pusht_keypoints/meta_data/info.json deleted file mode 100644 index 24555833..00000000 --- a/tests/data/lerobot/pusht_keypoints/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 10, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/pusht_keypoints/meta_data/stats.safetensors b/tests/data/lerobot/pusht_keypoints/meta_data/stats.safetensors deleted file mode 100644 index a48d5faa..00000000 --- a/tests/data/lerobot/pusht_keypoints/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:50b3c026da835560f9b87e7dfd28673e766bfb58d56c85002687d0a599b6fa43 -size 3304 diff --git a/tests/data/lerobot/pusht_keypoints/train/data-00000-of-00001.arrow b/tests/data/lerobot/pusht_keypoints/train/data-00000-of-00001.arrow deleted file mode 100644 index 15927a40..00000000 --- a/tests/data/lerobot/pusht_keypoints/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:958798d23a1690449744961f8c3ed934efe950c664e5fd729468959362840218 -size 20336 diff --git a/tests/data/lerobot/pusht_keypoints/train/dataset_info.json b/tests/data/lerobot/pusht_keypoints/train/dataset_info.json deleted file mode 100644 index fdb9ba9e..00000000 --- a/tests/data/lerobot/pusht_keypoints/train/dataset_info.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 2, - "_type": "Sequence" - }, - "observation.environment_state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 16, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 2, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "next.success": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/pusht_keypoints/train/state.json b/tests/data/lerobot/pusht_keypoints/train/state.json deleted file mode 100644 index 363eaed5..00000000 --- a/tests/data/lerobot/pusht_keypoints/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "a84d00dab0d2d820", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/episode_data_index.safetensors b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/episode_data_index.safetensors deleted file mode 100644 index 7359c867..00000000 --- a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e910eac6a1c94f4c194b05e908dcc973dd4227b18eb80c374d7a1150f166c34 -size 136 diff --git a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/info.json b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/info.json deleted file mode 100644 index 810b44dd..00000000 --- a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 10, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/stats.safetensors b/tests/data/lerobot/umi_cup_in_the_wild/meta_data/stats.safetensors deleted file mode 100644 index 49ed8bfe..00000000 --- a/tests/data/lerobot/umi_cup_in_the_wild/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:624b434e00d6996304c62212b85dda1bc2a813d5754bcb9aa6375efabca77113 -size 3720 diff --git a/tests/data/lerobot/umi_cup_in_the_wild/train/data-00000-of-00001.arrow b/tests/data/lerobot/umi_cup_in_the_wild/train/data-00000-of-00001.arrow deleted file mode 100644 index 6c71ab54..00000000 --- a/tests/data/lerobot/umi_cup_in_the_wild/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:65874cbb1b5ac8b95cd6e843903803298b6d10e689511c9db73ccbb7c9fe90e4 -size 72768 diff --git a/tests/data/lerobot/umi_cup_in_the_wild/train/dataset_info.json b/tests/data/lerobot/umi_cup_in_the_wild/train/dataset_info.json deleted file mode 100644 index f590f3e4..00000000 --- a/tests/data/lerobot/umi_cup_in_the_wild/train/dataset_info.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 7, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "episode_data_index_from": { - "dtype": "int64", - "_type": "Value" - }, - "episode_data_index_to": { - "dtype": "int64", - "_type": "Value" - }, - "end_pose": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 6, - "_type": "Sequence" - }, - "start_pos": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 6, - "_type": "Sequence" - }, - "gripper_width": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 1, - "_type": "Sequence" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/umi_cup_in_the_wild/train/state.json b/tests/data/lerobot/umi_cup_in_the_wild/train/state.json deleted file mode 100644 index 3a748627..00000000 --- a/tests/data/lerobot/umi_cup_in_the_wild/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "617374e490089953", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/umi_cup_in_the_wild/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/umi_cup_in_the_wild/videos/observation.image_episode_000000.mp4 deleted file mode 100644 index e5a3f2b6..00000000 --- a/tests/data/lerobot/umi_cup_in_the_wild/videos/observation.image_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3997b7eab34f8fcb072e2d1efddc7ca3308f15dcf11c58eb94fa10128c14f8b7 -size 2248640 diff --git a/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/episode_data_index.safetensors b/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/episode_data_index.safetensors deleted file mode 100644 index 22728a5a..00000000 --- a/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ee4f3c571ce6822e157e60133bee02245febee93eba5d35458d3c83345f7b87 -size 136 diff --git a/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/info.json b/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/stats.safetensors b/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/stats.safetensors deleted file mode 100644 index 17bb0987..00000000 --- a/tests/data/lerobot/unitreeh1_fold_clothes/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8f96d16e4b22d1ac29176e4f3c659cd3911b1993ddf848988b4af9ce77b91bf8 -size 3848 diff --git a/tests/data/lerobot/unitreeh1_fold_clothes/train/data-00000-of-00001.arrow b/tests/data/lerobot/unitreeh1_fold_clothes/train/data-00000-of-00001.arrow deleted file mode 100644 index 4bed187f..00000000 --- a/tests/data/lerobot/unitreeh1_fold_clothes/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fac4bb8514ed90ceff4590beaa2dba63f52191177114e895bca09c66201065bb -size 195992 diff --git a/tests/data/lerobot/unitreeh1_fold_clothes/train/dataset_info.json b/tests/data/lerobot/unitreeh1_fold_clothes/train/dataset_info.json deleted file mode 100644 index db7b2a98..00000000 --- a/tests/data/lerobot/unitreeh1_fold_clothes/train/dataset_info.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_left": { - "_type": "VideoFrame" - }, - "observation.images.cam_right": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 19, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 40, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_fold_clothes/train/state.json b/tests/data/lerobot/unitreeh1_fold_clothes/train/state.json deleted file mode 100644 index d95648e6..00000000 --- a/tests/data/lerobot/unitreeh1_fold_clothes/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "2b5a5bbfcd509fcf", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_fold_clothes/videos/observation.images.cam_left_episode_000000.mp4 b/tests/data/lerobot/unitreeh1_fold_clothes/videos/observation.images.cam_left_episode_000000.mp4 deleted file mode 100644 index 12339bca..00000000 --- a/tests/data/lerobot/unitreeh1_fold_clothes/videos/observation.images.cam_left_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cc71a3d935f7cdf47d617daa612e610c7c4715e38fef580c81a67138fed7fbc7 -size 14152768 diff --git a/tests/data/lerobot/unitreeh1_fold_clothes/videos/observation.images.cam_right_episode_000000.mp4 b/tests/data/lerobot/unitreeh1_fold_clothes/videos/observation.images.cam_right_episode_000000.mp4 deleted file mode 100644 index 3e2cc784..00000000 --- a/tests/data/lerobot/unitreeh1_fold_clothes/videos/observation.images.cam_right_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19b705bb7ba4c21ea39b41dafe7405d8e6f177389baf185307e4839928d25b4c -size 11040492 diff --git a/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/episode_data_index.safetensors b/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/episode_data_index.safetensors deleted file mode 100644 index db189495..00000000 --- a/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8ce9d72cafcb519a9e54bf27aaaf0585c322fe5cbe4baeccde524c8714ef3151 -size 136 diff --git a/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/info.json b/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/stats.safetensors b/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/stats.safetensors deleted file mode 100644 index 7020a806..00000000 --- a/tests/data/lerobot/unitreeh1_rearrange_objects/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e86b01d7cd15b629eb4645b1f41d5eff2577d0570d423d11e9a97bc0c7c27a6 -size 3848 diff --git a/tests/data/lerobot/unitreeh1_rearrange_objects/train/data-00000-of-00001.arrow b/tests/data/lerobot/unitreeh1_rearrange_objects/train/data-00000-of-00001.arrow deleted file mode 100644 index 90b9c672..00000000 --- a/tests/data/lerobot/unitreeh1_rearrange_objects/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:53a23222c441458448a7fcc25fea338a733e33253d62f8f67d23b6541cca6923 -size 99208 diff --git a/tests/data/lerobot/unitreeh1_rearrange_objects/train/dataset_info.json b/tests/data/lerobot/unitreeh1_rearrange_objects/train/dataset_info.json deleted file mode 100644 index db7b2a98..00000000 --- a/tests/data/lerobot/unitreeh1_rearrange_objects/train/dataset_info.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_left": { - "_type": "VideoFrame" - }, - "observation.images.cam_right": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 19, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 40, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_rearrange_objects/train/state.json b/tests/data/lerobot/unitreeh1_rearrange_objects/train/state.json deleted file mode 100644 index e40e8f79..00000000 --- a/tests/data/lerobot/unitreeh1_rearrange_objects/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "2580ac955af54458", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_rearrange_objects/videos/observation.images.cam_left_episode_000000.mp4 b/tests/data/lerobot/unitreeh1_rearrange_objects/videos/observation.images.cam_left_episode_000000.mp4 deleted file mode 100644 index 34e6bbd7..00000000 --- a/tests/data/lerobot/unitreeh1_rearrange_objects/videos/observation.images.cam_left_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9043873e8f5ca74715a3d455d7e2167de329e27fea895f1b256e6e005b3dfb99 -size 2255028 diff --git a/tests/data/lerobot/unitreeh1_rearrange_objects/videos/observation.images.cam_right_episode_000000.mp4 b/tests/data/lerobot/unitreeh1_rearrange_objects/videos/observation.images.cam_right_episode_000000.mp4 deleted file mode 100644 index 45f80fa4..00000000 --- a/tests/data/lerobot/unitreeh1_rearrange_objects/videos/observation.images.cam_right_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bc052a72d86455a8599d9f8789edbfceda914e184e465b897fdffe6e2750b516 -size 1718266 diff --git a/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/episode_data_index.safetensors b/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/episode_data_index.safetensors deleted file mode 100644 index 0be48dcd..00000000 --- a/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d3974a30e7de39ba454d6c04eacf06bd3d368878689323556b2be2ef7b609a9 -size 136 diff --git a/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/info.json b/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/stats.safetensors b/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/stats.safetensors deleted file mode 100644 index 5c85fd98..00000000 --- a/tests/data/lerobot/unitreeh1_two_robot_greeting/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:12b7a3f524967452da36e47347e31dddf8932804096ff6244b007f04644f9b6e -size 3848 diff --git a/tests/data/lerobot/unitreeh1_two_robot_greeting/train/data-00000-of-00001.arrow b/tests/data/lerobot/unitreeh1_two_robot_greeting/train/data-00000-of-00001.arrow deleted file mode 100644 index 6506a9a3..00000000 --- a/tests/data/lerobot/unitreeh1_two_robot_greeting/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ed9b1cb9da8fc180def82fe4126a2e4366bd69a807d7631923ea11c16d37139 -size 50824 diff --git a/tests/data/lerobot/unitreeh1_two_robot_greeting/train/dataset_info.json b/tests/data/lerobot/unitreeh1_two_robot_greeting/train/dataset_info.json deleted file mode 100644 index db7b2a98..00000000 --- a/tests/data/lerobot/unitreeh1_two_robot_greeting/train/dataset_info.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_left": { - "_type": "VideoFrame" - }, - "observation.images.cam_right": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 19, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 40, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_two_robot_greeting/train/state.json b/tests/data/lerobot/unitreeh1_two_robot_greeting/train/state.json deleted file mode 100644 index 0571fc64..00000000 --- a/tests/data/lerobot/unitreeh1_two_robot_greeting/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "1cb506c885902b4a", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_two_robot_greeting/videos/observation.images.cam_left_episode_000000.mp4 b/tests/data/lerobot/unitreeh1_two_robot_greeting/videos/observation.images.cam_left_episode_000000.mp4 deleted file mode 100644 index 1164903a..00000000 --- a/tests/data/lerobot/unitreeh1_two_robot_greeting/videos/observation.images.cam_left_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3897b9dfcdab65d320b5a52c98b6c707d3958b0f4c7942158d5fa623e2613878 -size 1869407 diff --git a/tests/data/lerobot/unitreeh1_two_robot_greeting/videos/observation.images.cam_right_episode_000000.mp4 b/tests/data/lerobot/unitreeh1_two_robot_greeting/videos/observation.images.cam_right_episode_000000.mp4 deleted file mode 100644 index 293113e2..00000000 --- a/tests/data/lerobot/unitreeh1_two_robot_greeting/videos/observation.images.cam_right_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:efe504c64875208790b5fb1f6214ec9e0f67aeafddaa1565d77db95645ad07ea -size 917982 diff --git a/tests/data/lerobot/unitreeh1_warehouse/meta_data/episode_data_index.safetensors b/tests/data/lerobot/unitreeh1_warehouse/meta_data/episode_data_index.safetensors deleted file mode 100644 index 22728a5a..00000000 --- a/tests/data/lerobot/unitreeh1_warehouse/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ee4f3c571ce6822e157e60133bee02245febee93eba5d35458d3c83345f7b87 -size 136 diff --git a/tests/data/lerobot/unitreeh1_warehouse/meta_data/info.json b/tests/data/lerobot/unitreeh1_warehouse/meta_data/info.json deleted file mode 100644 index 73d51a20..00000000 --- a/tests/data/lerobot/unitreeh1_warehouse/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 50, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_warehouse/meta_data/stats.safetensors b/tests/data/lerobot/unitreeh1_warehouse/meta_data/stats.safetensors deleted file mode 100644 index 81d10a53..00000000 --- a/tests/data/lerobot/unitreeh1_warehouse/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95e0985c9180aee035813b801b3f92746fbbc65fb015826acd265b75c68c3049 -size 3848 diff --git a/tests/data/lerobot/unitreeh1_warehouse/train/data-00000-of-00001.arrow b/tests/data/lerobot/unitreeh1_warehouse/train/data-00000-of-00001.arrow deleted file mode 100644 index 0b9ccaa0..00000000 --- a/tests/data/lerobot/unitreeh1_warehouse/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2a00171a0349ede19d3f036b0710b861c8a2856d481ce8b4049ba06825a61e7b -size 195992 diff --git a/tests/data/lerobot/unitreeh1_warehouse/train/dataset_info.json b/tests/data/lerobot/unitreeh1_warehouse/train/dataset_info.json deleted file mode 100644 index db7b2a98..00000000 --- a/tests/data/lerobot/unitreeh1_warehouse/train/dataset_info.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.images.cam_left": { - "_type": "VideoFrame" - }, - "observation.images.cam_right": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 19, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 40, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_warehouse/train/state.json b/tests/data/lerobot/unitreeh1_warehouse/train/state.json deleted file mode 100644 index b1bc507c..00000000 --- a/tests/data/lerobot/unitreeh1_warehouse/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "61217525b383c122", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/unitreeh1_warehouse/videos/observation.images.cam_left_episode_000000.mp4 b/tests/data/lerobot/unitreeh1_warehouse/videos/observation.images.cam_left_episode_000000.mp4 deleted file mode 100644 index e22997e4..00000000 --- a/tests/data/lerobot/unitreeh1_warehouse/videos/observation.images.cam_left_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17071ac8f8b2faca3b7ad02dfd08648c41ff7e323084f4aff3f7ef9f0579fe3b -size 6776353 diff --git a/tests/data/lerobot/unitreeh1_warehouse/videos/observation.images.cam_right_episode_000000.mp4 b/tests/data/lerobot/unitreeh1_warehouse/videos/observation.images.cam_right_episode_000000.mp4 deleted file mode 100644 index 02561189..00000000 --- a/tests/data/lerobot/unitreeh1_warehouse/videos/observation.images.cam_right_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e34dd8dcd024123f7beb03cf25065263bd7c2fd31a5a45703c67682ce273df39 -size 3757678 diff --git a/tests/data/lerobot/xarm_lift_medium/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_lift_medium/meta_data/episode_data_index.safetensors deleted file mode 100644 index 3cf01178..00000000 --- a/tests/data/lerobot/xarm_lift_medium/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d6f6342fa2e42703d1584c19e018c2f1254d24beb15a5ac54623c72e6e45e28 -size 136 diff --git a/tests/data/lerobot/xarm_lift_medium/meta_data/info.json b/tests/data/lerobot/xarm_lift_medium/meta_data/info.json deleted file mode 100644 index 6ea0c259..00000000 --- a/tests/data/lerobot/xarm_lift_medium/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 15, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium/meta_data/stats.safetensors b/tests/data/lerobot/xarm_lift_medium/meta_data/stats.safetensors deleted file mode 100644 index 2fd59837..00000000 --- a/tests/data/lerobot/xarm_lift_medium/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed1a4ea94eecaac25e3a97ded06e87abe05ed8d0b0b8eeb627a47958e6f422fd -size 2832 diff --git a/tests/data/lerobot/xarm_lift_medium/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_lift_medium/train/data-00000-of-00001.arrow deleted file mode 100644 index b8f4f2f2..00000000 --- a/tests/data/lerobot/xarm_lift_medium/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:faabfca36bd645884aac046db4303220b565db67865d521bc131b86c4157e749 -size 5024 diff --git a/tests/data/lerobot/xarm_lift_medium/train/dataset_info.json b/tests/data/lerobot/xarm_lift_medium/train/dataset_info.json deleted file mode 100644 index 3791deef..00000000 --- a/tests/data/lerobot/xarm_lift_medium/train/dataset_info.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium/train/state.json b/tests/data/lerobot/xarm_lift_medium/train/state.json deleted file mode 100644 index 32d3557f..00000000 --- a/tests/data/lerobot/xarm_lift_medium/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "eef17b5ce177712a", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/xarm_lift_medium/videos/observation.image_episode_000000.mp4 deleted file mode 100644 index 4b0e32ca..00000000 --- a/tests/data/lerobot/xarm_lift_medium/videos/observation.image_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c379110fbc83978319e135dcf8f3a017cbe7663d6a1a47ca2097584efe7ba51 -size 22520 diff --git a/tests/data/lerobot/xarm_lift_medium_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_lift_medium_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index e7e90dc3..00000000 --- a/tests/data/lerobot/xarm_lift_medium_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ddb52e362094cc1469f34f7d723e235abccd24713b962f9765b4f910e85cebd -size 12936 diff --git a/tests/data/lerobot/xarm_lift_medium_image/meta_data/info.json b/tests/data/lerobot/xarm_lift_medium_image/meta_data/info.json deleted file mode 100644 index 5f1c5d0d..00000000 --- a/tests/data/lerobot/xarm_lift_medium_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 15, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium_image/meta_data/stats.safetensors b/tests/data/lerobot/xarm_lift_medium_image/meta_data/stats.safetensors deleted file mode 100644 index c5e2b21b..00000000 --- a/tests/data/lerobot/xarm_lift_medium_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:625213579edb7c82580ded28b3bb3dd6894bf27502b401a98de2908a65a2a15d -size 2808 diff --git a/tests/data/lerobot/xarm_lift_medium_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_lift_medium_image/train/data-00000-of-00001.arrow deleted file mode 100644 index 53cd0088..00000000 --- a/tests/data/lerobot/xarm_lift_medium_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c5814b892ceeb0869ec2f1821ab2c5040cbc0f1351a89f5369c67bd137cfe48 -size 105064 diff --git a/tests/data/lerobot/xarm_lift_medium_image/train/dataset_info.json b/tests/data/lerobot/xarm_lift_medium_image/train/dataset_info.json deleted file mode 100644 index 9e47b345..00000000 --- a/tests/data/lerobot/xarm_lift_medium_image/train/dataset_info.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium_image/train/state.json b/tests/data/lerobot/xarm_lift_medium_image/train/state.json deleted file mode 100644 index 408af7e8..00000000 --- a/tests/data/lerobot/xarm_lift_medium_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "e70528672ed7674c", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/episode_data_index.safetensors deleted file mode 100644 index 3cf01178..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d6f6342fa2e42703d1584c19e018c2f1254d24beb15a5ac54623c72e6e45e28 -size 136 diff --git a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/info.json b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/info.json deleted file mode 100644 index 6ea0c259..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 15, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/stats.safetensors b/tests/data/lerobot/xarm_lift_medium_replay/meta_data/stats.safetensors deleted file mode 100644 index 90546d9b..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6cfcf6051a043dfb16d797fe382ef786b3f818f8ff35a53ecf139f22258d3c3 -size 2832 diff --git a/tests/data/lerobot/xarm_lift_medium_replay/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_lift_medium_replay/train/data-00000-of-00001.arrow deleted file mode 100644 index 2c21ac48..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c7cd6da7622e4b1e70c2dc6caa9e9ba8f4078c9eb3457b641ebd1b247a5bec4 -size 5024 diff --git a/tests/data/lerobot/xarm_lift_medium_replay/train/dataset_info.json b/tests/data/lerobot/xarm_lift_medium_replay/train/dataset_info.json deleted file mode 100644 index 3791deef..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay/train/dataset_info.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium_replay/train/state.json b/tests/data/lerobot/xarm_lift_medium_replay/train/state.json deleted file mode 100644 index 8a5eb609..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "cacbf70769444959", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium_replay/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/xarm_lift_medium_replay/videos/observation.image_episode_000000.mp4 deleted file mode 100644 index ac58a5bb..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay/videos/observation.image_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58aef7a5ed81ceafd948d30e8c8ecb66f417962c3856a662fbf37e9230a0d946 -size 21161 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index e7e90dc3..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ddb52e362094cc1469f34f7d723e235abccd24713b962f9765b4f910e85cebd -size 12936 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/info.json b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/info.json deleted file mode 100644 index 5f1c5d0d..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 15, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/stats.safetensors b/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/stats.safetensors deleted file mode 100644 index c5e2b21b..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:625213579edb7c82580ded28b3bb3dd6894bf27502b401a98de2908a65a2a15d -size 2808 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_lift_medium_replay_image/train/data-00000-of-00001.arrow deleted file mode 100644 index 53cd0088..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c5814b892ceeb0869ec2f1821ab2c5040cbc0f1351a89f5369c67bd137cfe48 -size 105064 diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/train/dataset_info.json b/tests/data/lerobot/xarm_lift_medium_replay_image/train/dataset_info.json deleted file mode 100644 index 9e47b345..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay_image/train/dataset_info.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_lift_medium_replay_image/train/state.json b/tests/data/lerobot/xarm_lift_medium_replay_image/train/state.json deleted file mode 100644 index 408af7e8..00000000 --- a/tests/data/lerobot/xarm_lift_medium_replay_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "e70528672ed7674c", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_push_medium/meta_data/episode_data_index.safetensors deleted file mode 100644 index 3cf01178..00000000 --- a/tests/data/lerobot/xarm_push_medium/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d6f6342fa2e42703d1584c19e018c2f1254d24beb15a5ac54623c72e6e45e28 -size 136 diff --git a/tests/data/lerobot/xarm_push_medium/meta_data/info.json b/tests/data/lerobot/xarm_push_medium/meta_data/info.json deleted file mode 100644 index 6ea0c259..00000000 --- a/tests/data/lerobot/xarm_push_medium/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 15, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium/meta_data/stats.safetensors b/tests/data/lerobot/xarm_push_medium/meta_data/stats.safetensors deleted file mode 100644 index 9383ab69..00000000 --- a/tests/data/lerobot/xarm_push_medium/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b07721b1072d0473ea5209fb35b4f6064d8b1132b3e2e5bb61d887b710147c3a -size 2808 diff --git a/tests/data/lerobot/xarm_push_medium/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_push_medium/train/data-00000-of-00001.arrow deleted file mode 100644 index e20086d4..00000000 --- a/tests/data/lerobot/xarm_push_medium/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:791cbb9702e4b7313939600d64658c51e929c4e6d3945ed65fae25e0f9c27484 -size 4928 diff --git a/tests/data/lerobot/xarm_push_medium/train/dataset_info.json b/tests/data/lerobot/xarm_push_medium/train/dataset_info.json deleted file mode 100644 index 69bf84eb..00000000 --- a/tests/data/lerobot/xarm_push_medium/train/dataset_info.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium/train/state.json b/tests/data/lerobot/xarm_push_medium/train/state.json deleted file mode 100644 index b792da32..00000000 --- a/tests/data/lerobot/xarm_push_medium/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "29f9b4c0ed32b18a", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/xarm_push_medium/videos/observation.image_episode_000000.mp4 deleted file mode 100644 index a8fa457e..00000000 --- a/tests/data/lerobot/xarm_push_medium/videos/observation.image_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84956736e748104bd69565824234ca45b6d753973d1dd7bcfa2698c8db42250f -size 18765 diff --git a/tests/data/lerobot/xarm_push_medium_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_push_medium_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index e7e90dc3..00000000 --- a/tests/data/lerobot/xarm_push_medium_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ddb52e362094cc1469f34f7d723e235abccd24713b962f9765b4f910e85cebd -size 12936 diff --git a/tests/data/lerobot/xarm_push_medium_image/meta_data/info.json b/tests/data/lerobot/xarm_push_medium_image/meta_data/info.json deleted file mode 100644 index 5f1c5d0d..00000000 --- a/tests/data/lerobot/xarm_push_medium_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 15, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium_image/meta_data/stats.safetensors b/tests/data/lerobot/xarm_push_medium_image/meta_data/stats.safetensors deleted file mode 100644 index c5e2b21b..00000000 --- a/tests/data/lerobot/xarm_push_medium_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:625213579edb7c82580ded28b3bb3dd6894bf27502b401a98de2908a65a2a15d -size 2808 diff --git a/tests/data/lerobot/xarm_push_medium_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_push_medium_image/train/data-00000-of-00001.arrow deleted file mode 100644 index 53cd0088..00000000 --- a/tests/data/lerobot/xarm_push_medium_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c5814b892ceeb0869ec2f1821ab2c5040cbc0f1351a89f5369c67bd137cfe48 -size 105064 diff --git a/tests/data/lerobot/xarm_push_medium_image/train/dataset_info.json b/tests/data/lerobot/xarm_push_medium_image/train/dataset_info.json deleted file mode 100644 index 9e47b345..00000000 --- a/tests/data/lerobot/xarm_push_medium_image/train/dataset_info.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium_image/train/state.json b/tests/data/lerobot/xarm_push_medium_image/train/state.json deleted file mode 100644 index 408af7e8..00000000 --- a/tests/data/lerobot/xarm_push_medium_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "e70528672ed7674c", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium_replay/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_push_medium_replay/meta_data/episode_data_index.safetensors deleted file mode 100644 index 3cf01178..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d6f6342fa2e42703d1584c19e018c2f1254d24beb15a5ac54623c72e6e45e28 -size 136 diff --git a/tests/data/lerobot/xarm_push_medium_replay/meta_data/info.json b/tests/data/lerobot/xarm_push_medium_replay/meta_data/info.json deleted file mode 100644 index 6ea0c259..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay/meta_data/info.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 15, - "video": true, - "encoding": { - "vcodec": "libsvtav1", - "pix_fmt": "yuv420p", - "g": 2, - "crf": 30 - } -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium_replay/meta_data/stats.safetensors b/tests/data/lerobot/xarm_push_medium_replay/meta_data/stats.safetensors deleted file mode 100644 index 5c9a0247..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c06131233f3f66f8330b7923ae0faaf2fe1c52c1d6b8d61729b6c85ade262ca3 -size 2808 diff --git a/tests/data/lerobot/xarm_push_medium_replay/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_push_medium_replay/train/data-00000-of-00001.arrow deleted file mode 100644 index c45994c6..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3abeaeb79aa480ab79e5881cf2a97db9142af1318f9ba0819cf9e6d9cbbaeb1a -size 4928 diff --git a/tests/data/lerobot/xarm_push_medium_replay/train/dataset_info.json b/tests/data/lerobot/xarm_push_medium_replay/train/dataset_info.json deleted file mode 100644 index 69bf84eb..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay/train/dataset_info.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "VideoFrame" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium_replay/train/state.json b/tests/data/lerobot/xarm_push_medium_replay/train/state.json deleted file mode 100644 index c22dad8a..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "c610e979e9f89905", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium_replay/videos/observation.image_episode_000000.mp4 b/tests/data/lerobot/xarm_push_medium_replay/videos/observation.image_episode_000000.mp4 deleted file mode 100644 index 22ceddc7..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay/videos/observation.image_episode_000000.mp4 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b643aac1782736bae5a72409cfcf9dd19b26bfaa4bf69649303a3f03a8b0f7d9 -size 24752 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/episode_data_index.safetensors b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/episode_data_index.safetensors deleted file mode 100644 index e7e90dc3..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/episode_data_index.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1ddb52e362094cc1469f34f7d723e235abccd24713b962f9765b4f910e85cebd -size 12936 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/info.json b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/info.json deleted file mode 100644 index 5f1c5d0d..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/info.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "codebase_version": "v1.6", - "fps": 15, - "video": 0 -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/stats.safetensors b/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/stats.safetensors deleted file mode 100644 index c5e2b21b..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay_image/meta_data/stats.safetensors +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:625213579edb7c82580ded28b3bb3dd6894bf27502b401a98de2908a65a2a15d -size 2808 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/train/data-00000-of-00001.arrow b/tests/data/lerobot/xarm_push_medium_replay_image/train/data-00000-of-00001.arrow deleted file mode 100644 index 53cd0088..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay_image/train/data-00000-of-00001.arrow +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c5814b892ceeb0869ec2f1821ab2c5040cbc0f1351a89f5369c67bd137cfe48 -size 105064 diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/train/dataset_info.json b/tests/data/lerobot/xarm_push_medium_replay_image/train/dataset_info.json deleted file mode 100644 index 9e47b345..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay_image/train/dataset_info.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "citation": "", - "description": "", - "features": { - "observation.image": { - "_type": "Image" - }, - "observation.state": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 4, - "_type": "Sequence" - }, - "action": { - "feature": { - "dtype": "float32", - "_type": "Value" - }, - "length": 3, - "_type": "Sequence" - }, - "episode_index": { - "dtype": "int64", - "_type": "Value" - }, - "frame_index": { - "dtype": "int64", - "_type": "Value" - }, - "timestamp": { - "dtype": "float32", - "_type": "Value" - }, - "next.reward": { - "dtype": "float32", - "_type": "Value" - }, - "next.done": { - "dtype": "bool", - "_type": "Value" - }, - "index": { - "dtype": "int64", - "_type": "Value" - } - }, - "homepage": "", - "license": "" -} \ No newline at end of file diff --git a/tests/data/lerobot/xarm_push_medium_replay_image/train/state.json b/tests/data/lerobot/xarm_push_medium_replay_image/train/state.json deleted file mode 100644 index 408af7e8..00000000 --- a/tests/data/lerobot/xarm_push_medium_replay_image/train/state.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_data_files": [ - { - "filename": "data-00000-of-00001.arrow" - } - ], - "_fingerprint": "e70528672ed7674c", - "_format_columns": null, - "_format_kwargs": {}, - "_format_type": null, - "_output_all_columns": false, - "_split": null -} \ No newline at end of file From 334deb985dc8f4822fd26712e76bb5ab47c5d01d Mon Sep 17 00:00:00 2001 From: Simon Alibert <75076266+aliberts@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:22:15 +0100 Subject: [PATCH 2/3] Update CI trigger rules (#712) --- .github/workflows/quality.yml | 2 -- .github/workflows/test-docker-build.yml | 2 -- .github/workflows/test.yml | 2 -- 3 files changed, 6 deletions(-) diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index c245345f..6acc901e 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -4,8 +4,6 @@ on: workflow_dispatch: workflow_call: pull_request: - branches: - - main push: branches: - main diff --git a/.github/workflows/test-docker-build.yml b/.github/workflows/test-docker-build.yml index 979897b0..08a3ab08 100644 --- a/.github/workflows/test-docker-build.yml +++ b/.github/workflows/test-docker-build.yml @@ -4,8 +4,6 @@ name: Test Dockerfiles on: pull_request: - branches: - - main paths: # Run only when DockerFile files are modified - "docker/**" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3a79c60f..bc567418 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,8 +2,6 @@ name: Tests on: pull_request: - branches: - - main paths: - "lerobot/**" - "tests/**" From 90e099b39fb7e40ff87904dbed5685ffefd05777 Mon Sep 17 00:00:00 2001 From: Simon Alibert <75076266+aliberts@users.noreply.github.com> Date: Tue, 11 Feb 2025 10:36:06 +0100 Subject: [PATCH 3/3] Remove offline training, refactor `train.py` and logging/checkpointing (#670) Co-authored-by: Remi --- Makefile | 39 +- examples/3_train_policy.py | 3 +- examples/4_train_policy_with_script.md | 22 +- .../advanced/2_calculate_validation_loss.py | 4 +- lerobot/common/constants.py | 11 + lerobot/common/logger.py | 240 --------- lerobot/common/optim/factory.py | 23 +- lerobot/common/optim/optimizers.py | 48 ++ lerobot/common/optim/schedulers.py | 31 ++ lerobot/common/policies/act/modeling_act.py | 8 +- .../policies/diffusion/modeling_diffusion.py | 5 +- lerobot/common/policies/pretrained.py | 13 +- .../common/policies/tdmpc/modeling_tdmpc.py | 5 +- .../common/policies/vqbet/modeling_vqbet.py | 12 +- lerobot/common/utils/io_utils.py | 84 +++ lerobot/common/utils/logging_utils.py | 163 ++++++ lerobot/common/utils/random_utils.py | 191 +++++++ lerobot/common/utils/train_utils.py | 161 ++++++ lerobot/common/utils/utils.py | 57 -- lerobot/common/utils/wandb_utils.py | 121 +++++ lerobot/configs/train.py | 75 +-- lerobot/scripts/eval.py | 11 +- lerobot/scripts/train.py | 488 ++++-------------- poetry.lock | 24 +- pyproject.toml | 4 +- tests/conftest.py | 1 + tests/fixtures/optimizers.py | 26 + .../save_image_transforms_to_safetensors.py | 2 +- tests/scripts/save_policy_to_safetensors.py | 8 +- tests/test_control_robot.py | 17 +- tests/test_datasets.py | 2 +- tests/test_image_transforms.py | 2 +- tests/test_io_utils.py | 74 +++ tests/test_logging_utils.py | 107 ++++ tests/test_optimizers.py | 43 ++ tests/test_policies.py | 2 +- tests/test_random_utils.py | 109 ++++ tests/test_schedulers.py | 81 +++ tests/test_train_utils.py | 84 +++ tests/test_utils.py | 49 -- 40 files changed, 1515 insertions(+), 935 deletions(-) delete mode 100644 lerobot/common/logger.py create mode 100644 lerobot/common/utils/logging_utils.py create mode 100644 lerobot/common/utils/random_utils.py create mode 100644 lerobot/common/utils/train_utils.py create mode 100644 lerobot/common/utils/wandb_utils.py create mode 100644 tests/fixtures/optimizers.py create mode 100644 tests/test_io_utils.py create mode 100644 tests/test_logging_utils.py create mode 100644 tests/test_optimizers.py create mode 100644 tests/test_random_utils.py create mode 100644 tests/test_schedulers.py create mode 100644 tests/test_train_utils.py diff --git a/Makefile b/Makefile index c216e009..bc10141a 100644 --- a/Makefile +++ b/Makefile @@ -39,8 +39,8 @@ test-act-ete-train: --dataset.image_transforms.enable=true \ --dataset.episodes="[0]" \ --batch_size=2 \ - --offline.steps=4 \ - --online.steps=0 \ + --steps=4 \ + --eval_freq=2 \ --eval.n_episodes=1 \ --eval.batch_size=1 \ --save_freq=2 \ @@ -76,8 +76,8 @@ test-diffusion-ete-train: --dataset.image_transforms.enable=true \ --dataset.episodes="[0]" \ --batch_size=2 \ - --offline.steps=2 \ - --online.steps=0 \ + --steps=2 \ + --eval_freq=2 \ --eval.n_episodes=1 \ --eval.batch_size=1 \ --save_checkpoint=true \ @@ -106,8 +106,8 @@ test-tdmpc-ete-train: --dataset.image_transforms.enable=true \ --dataset.episodes="[0]" \ --batch_size=2 \ - --offline.steps=2 \ - --online.steps=0 \ + --steps=2 \ + --eval_freq=2 \ --eval.n_episodes=1 \ --eval.batch_size=1 \ --save_checkpoint=true \ @@ -126,30 +126,3 @@ test-tdmpc-ete-eval: --eval.n_episodes=1 \ --eval.batch_size=1 \ --device=$(DEVICE) - -# TODO(rcadene): fix online buffer to storing "task" -# test-tdmpc-ete-train-with-online: -# python lerobot/scripts/train.py \ -# --policy.type=tdmpc \ -# --env.type=pusht \ -# --env.obs_type=environment_state_agent_pos \ -# --env.episode_length=5 \ -# --dataset.repo_id=lerobot/pusht_keypoints \ -# --dataset.image_transforms.enable=true \ -# --dataset.episodes="[0]" \ -# --batch_size=2 \ -# --offline.steps=2 \ -# --online.steps=20 \ -# --online.rollout_n_episodes=2 \ -# --online.rollout_batch_size=2 \ -# --online.steps_between_rollouts=10 \ -# --online.buffer_capacity=1000 \ -# --online.env_seed=10000 \ -# --save_checkpoint=false \ -# --save_freq=10 \ -# --log_freq=1 \ -# --eval.use_async_envs=true \ -# --eval.n_episodes=1 \ -# --eval.batch_size=1 \ -# --device=$(DEVICE) \ -# --output_dir=tests/outputs/tdmpc_online/ diff --git a/examples/3_train_policy.py b/examples/3_train_policy.py index 635c7293..cf5d4d3e 100644 --- a/examples/3_train_policy.py +++ b/examples/3_train_policy.py @@ -86,8 +86,7 @@ def main(): while not done: for batch in dataloader: batch = {k: v.to(device, non_blocking=True) for k, v in batch.items()} - output_dict = policy.forward(batch) - loss = output_dict["loss"] + loss, _ = policy.forward(batch) loss.backward() optimizer.step() optimizer.zero_grad() diff --git a/examples/4_train_policy_with_script.md b/examples/4_train_policy_with_script.md index 9d57d424..58ed239a 100644 --- a/examples/4_train_policy_with_script.md +++ b/examples/4_train_policy_with_script.md @@ -161,13 +161,13 @@ python lerobot/scripts/train.py \ ``` You should see from the logging that your training picks up from where it left off. -Another reason for which you might want to resume a run is simply to extend training and add more training steps. The number of training steps is set by the option `--offline.steps`, which is 100 000 by default. +Another reason for which you might want to resume a run is simply to extend training and add more training steps. The number of training steps is set by the option `--steps`, which is 100 000 by default. You could double the number of steps of the previous run with: ```bash python lerobot/scripts/train.py \ --config_path=outputs/train/run_resumption/checkpoints/last/pretrained_model/ \ --resume=true \ - --offline.steps=200000 + --steps=200000 ``` ## Outputs of a run @@ -175,12 +175,16 @@ In the output directory, there will be a folder called `checkpoints` with the fo ```bash outputs/train/run_resumption/checkpoints ├── 000100 # checkpoint_dir for training step 100 -│   ├── pretrained_model -│   │   ├── config.json # pretrained policy config -│   │   ├── model.safetensors # model weights -│   │   ├── train_config.json # train config -│ │ └── README.md # model card -│   └── training_state.pth # optimizer/scheduler/rng state and training step +│ ├── pretrained_model/ +│ │ ├── config.json # policy config +│ │ ├── model.safetensors # policy weights +│ │ └── train_config.json # train config +│ └── training_state/ +│ ├── optimizer_param_groups.json # optimizer param groups +│ ├── optimizer_state.safetensors # optimizer state +│ ├── rng_state.safetensors # rng states +│ ├── scheduler_state.json # scheduler state +│ └── training_step.json # training step ├── 000200 └── last -> 000200 # symlink to the last available checkpoint ``` @@ -250,7 +254,7 @@ python lerobot/scripts/train.py \ python lerobot/scripts/train.py \ --config_path=checkpoint/pretrained_model/ \ --resume=true \ - --offline.steps=200000 # <- you can change some training parameters + --steps=200000 # <- you can change some training parameters ``` #### Fine-tuning diff --git a/examples/advanced/2_calculate_validation_loss.py b/examples/advanced/2_calculate_validation_loss.py index 71e76072..6f234719 100644 --- a/examples/advanced/2_calculate_validation_loss.py +++ b/examples/advanced/2_calculate_validation_loss.py @@ -75,9 +75,9 @@ def main(): n_examples_evaluated = 0 for batch in val_dataloader: batch = {k: v.to(device, non_blocking=True) for k, v in batch.items()} - output_dict = policy.forward(batch) + loss, _ = policy.forward(batch) - loss_cumsum += output_dict["loss"].item() + loss_cumsum += loss.item() n_examples_evaluated += batch["index"].shape[0] # Calculate the average loss over the validation set. diff --git a/lerobot/common/constants.py b/lerobot/common/constants.py index 73889594..34da4ac0 100644 --- a/lerobot/common/constants.py +++ b/lerobot/common/constants.py @@ -4,3 +4,14 @@ OBS_ROBOT = "observation.state" OBS_IMAGE = "observation.image" OBS_IMAGES = "observation.images" ACTION = "action" + +# files & directories +CHECKPOINTS_DIR = "checkpoints" +LAST_CHECKPOINT_LINK = "last" +PRETRAINED_MODEL_DIR = "pretrained_model" +TRAINING_STATE_DIR = "training_state" +RNG_STATE = "rng_state.safetensors" +TRAINING_STEP = "training_step.json" +OPTIMIZER_STATE = "optimizer_state.safetensors" +OPTIMIZER_PARAM_GROUPS = "optimizer_param_groups.json" +SCHEDULER_STATE = "scheduler_state.json" diff --git a/lerobot/common/logger.py b/lerobot/common/logger.py deleted file mode 100644 index 5f863f68..00000000 --- a/lerobot/common/logger.py +++ /dev/null @@ -1,240 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2024 The HuggingFace Inc. team. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Borrowed from https://github.com/fyhMer/fowm/blob/main/src/logger.py - -# TODO(rcadene, alexander-soare): clean this file -""" - -import logging -import os -import re -from dataclasses import asdict -from glob import glob -from pathlib import Path - -import draccus -import torch -from huggingface_hub.constants import SAFETENSORS_SINGLE_FILE -from termcolor import colored -from torch.optim import Optimizer -from torch.optim.lr_scheduler import LRScheduler - -from lerobot.common.policies.pretrained import PreTrainedPolicy -from lerobot.common.utils.utils import get_global_random_state -from lerobot.configs.train import TrainPipelineConfig -from lerobot.configs.types import FeatureType, NormalizationMode - -PRETRAINED_MODEL = "pretrained_model" -TRAINING_STATE = "training_state.pth" - - -def log_output_dir(out_dir): - logging.info(colored("Output dir:", "yellow", attrs=["bold"]) + f" {out_dir}") - - -def cfg_to_group(cfg: TrainPipelineConfig, return_list: bool = False) -> list[str] | str: - """Return a group name for logging. Optionally returns group name as list.""" - lst = [ - f"policy:{cfg.policy.type}", - f"dataset:{cfg.dataset.repo_id}", - f"seed:{cfg.seed}", - ] - if cfg.env is not None: - lst.append(f"env:{cfg.env.type}") - return lst if return_list else "-".join(lst) - - -def get_wandb_run_id_from_filesystem(checkpoint_dir: Path) -> str: - # Get the WandB run ID. - paths = glob(str(checkpoint_dir / "../wandb/latest-run/run-*")) - if len(paths) != 1: - raise RuntimeError("Couldn't get the previous WandB run ID for run resumption.") - match = re.search(r"run-([^\.]+).wandb", paths[0].split("/")[-1]) - if match is None: - raise RuntimeError("Couldn't get the previous WandB run ID for run resumption.") - wandb_run_id = match.groups(0)[0] - return wandb_run_id - - -class Logger: - """Primary logger object. Logs either locally or using wandb. - - The logger creates the following directory structure: - - provided_log_dir - ├── checkpoints - │ ├── specific_checkpoint_name - │ │ ├── pretrained_model # Hugging Face pretrained model directory - │ │ │ ├── ... - │ │ └── training_state.pth # optimizer, scheduler, and random states + training step - | ├── another_specific_checkpoint_name - │ │ ├── ... - | ├── ... - │ └── last # a softlink to the last logged checkpoint - """ - - pretrained_model_dir_name = PRETRAINED_MODEL - training_state_file_name = TRAINING_STATE - - def __init__(self, cfg: TrainPipelineConfig): - self._cfg = cfg - self.log_dir = cfg.output_dir - self.log_dir.mkdir(parents=True, exist_ok=True) - self.job_name = cfg.job_name - self.checkpoints_dir = self.get_checkpoints_dir(self.log_dir) - self.last_checkpoint_dir = self.get_last_checkpoint_dir(self.log_dir) - self.last_pretrained_model_dir = self.get_last_pretrained_model_dir(self.log_dir) - - # Set up WandB. - self._group = cfg_to_group(cfg) - run_offline = not cfg.wandb.enable or not cfg.wandb.project - if run_offline: - logging.info(colored("Logs will be saved locally.", "yellow", attrs=["bold"])) - self._wandb = None - else: - os.environ["WANDB_SILENT"] = "true" - import wandb - - wandb_run_id = None - if cfg.resume: - wandb_run_id = get_wandb_run_id_from_filesystem(self.checkpoints_dir) - - wandb.init( - id=wandb_run_id, - project=cfg.wandb.project, - entity=cfg.wandb.entity, - name=self.job_name, - notes=cfg.wandb.notes, - tags=cfg_to_group(cfg, return_list=True), - dir=self.log_dir, - config=asdict(self._cfg), - # TODO(rcadene): try set to True - save_code=False, - # TODO(rcadene): split train and eval, and run async eval with job_type="eval" - job_type="train_eval", - resume="must" if cfg.resume else None, - ) - print(colored("Logs will be synced with wandb.", "blue", attrs=["bold"])) - logging.info(f"Track this run --> {colored(wandb.run.get_url(), 'yellow', attrs=['bold'])}") - self._wandb = wandb - - @classmethod - def get_checkpoints_dir(cls, log_dir: str | Path) -> Path: - """Given the log directory, get the sub-directory in which checkpoints will be saved.""" - return Path(log_dir) / "checkpoints" - - @classmethod - def get_last_checkpoint_dir(cls, log_dir: str | Path) -> Path: - """Given the log directory, get the sub-directory in which the last checkpoint will be saved.""" - return cls.get_checkpoints_dir(log_dir) / "last" - - @classmethod - def get_last_pretrained_model_dir(cls, log_dir: str | Path) -> Path: - """ - Given the log directory, get the sub-directory in which the last checkpoint's pretrained weights will - be saved. - """ - return cls.get_last_checkpoint_dir(log_dir) / cls.pretrained_model_dir_name - - def save_model(self, save_dir: Path, policy: PreTrainedPolicy, wandb_artifact_name: str | None = None): - """Save the weights of the Policy model using PyTorchModelHubMixin. - - The weights are saved in a folder called "pretrained_model" under the checkpoint directory. - - Optionally also upload the model to WandB. - """ - - self.checkpoints_dir.mkdir(parents=True, exist_ok=True) - register_features_types() - policy.save_pretrained(save_dir) - # Also save the full config for the env configuration. - self._cfg.save_pretrained(save_dir) - if self._wandb and not self._cfg.wandb.disable_artifact: - # note wandb artifact does not accept ":" or "/" in its name - artifact = self._wandb.Artifact(wandb_artifact_name, type="model") - artifact.add_file(save_dir / SAFETENSORS_SINGLE_FILE) - self._wandb.log_artifact(artifact) - if self.last_checkpoint_dir.exists(): - os.remove(self.last_checkpoint_dir) - - def save_training_state( - self, - save_dir: Path, - train_step: int, - optimizer: Optimizer | None = None, - scheduler: LRScheduler | None = None, - ): - """Checkpoint the global training_step, optimizer state, scheduler state, and random state. - - All of these are saved as "training_state.pth" under the checkpoint directory. - """ - training_state = {} - training_state["step"] = train_step - training_state.update(get_global_random_state()) - if optimizer is not None: - training_state["optimizer"] = optimizer.state_dict() - if scheduler is not None: - training_state["scheduler"] = scheduler.state_dict() - torch.save(training_state, save_dir / self.training_state_file_name) - - def save_checkpoint( - self, - train_step: int, - identifier: str, - policy: PreTrainedPolicy, - optimizer: Optimizer | None = None, - scheduler: LRScheduler | None = None, - ): - """Checkpoint the model weights and the training state.""" - checkpoint_dir = self.checkpoints_dir / str(identifier) - wandb_artifact_name = ( - None - if self._wandb is None - else f"{self._group.replace(':', '_').replace('/', '_')}-{self._cfg.seed}-{identifier}" - ) - self.save_model( - checkpoint_dir / self.pretrained_model_dir_name, policy, wandb_artifact_name=wandb_artifact_name - ) - self.save_training_state(checkpoint_dir, train_step, optimizer, scheduler) - - relative_target = checkpoint_dir.relative_to(self.last_checkpoint_dir.parent) - self.last_checkpoint_dir.symlink_to(relative_target) - - def log_dict(self, d: dict, step: int, mode: str = "train"): - assert mode in {"train", "eval"} - # TODO(alexander-soare): Add local text log. - if self._wandb is not None: - for k, v in d.items(): - if not isinstance(v, (int, float, str)): - logging.warning( - f'WandB logging of key "{k}" was ignored as its type is not handled by this wrapper.' - ) - continue - self._wandb.log({f"{mode}/{k}": v}, step=step) - - def log_video(self, video_path: str, step: int, mode: str = "train"): - assert mode in {"train", "eval"} - assert self._wandb is not None - wandb_video = self._wandb.Video(video_path, fps=self._cfg.env.fps, format="mp4") - self._wandb.log({f"{mode}/video": wandb_video}, step=step) - - -def register_features_types(): - draccus.decode.register(FeatureType, lambda x: FeatureType[x]) - draccus.encode.register(FeatureType, lambda x: x.name) - - draccus.decode.register(NormalizationMode, lambda x: NormalizationMode[x]) - draccus.encode.register(NormalizationMode, lambda x: x.name) diff --git a/lerobot/common/optim/factory.py b/lerobot/common/optim/factory.py index 010cd461..10ff3df7 100644 --- a/lerobot/common/optim/factory.py +++ b/lerobot/common/optim/factory.py @@ -14,15 +14,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -from pathlib import Path -import torch from torch.optim import Optimizer from torch.optim.lr_scheduler import LRScheduler -from lerobot.common.logger import TRAINING_STATE from lerobot.common.policies.pretrained import PreTrainedPolicy -from lerobot.common.utils.utils import get_global_random_state, set_global_random_state from lerobot.configs.train import TrainPipelineConfig @@ -40,22 +36,5 @@ def make_optimizer_and_scheduler( """ params = policy.get_optim_params() if cfg.use_policy_training_preset else policy.parameters() optimizer = cfg.optimizer.build(params) - lr_scheduler = cfg.scheduler.build(optimizer, cfg.offline.steps) if cfg.scheduler is not None else None + lr_scheduler = cfg.scheduler.build(optimizer, cfg.steps) if cfg.scheduler is not None else None return optimizer, lr_scheduler - - -def load_training_state(checkpoint_dir: Path, optimizer: Optimizer, scheduler: LRScheduler | None) -> int: - """ - Given the checkpoint directory, load the optimizer state, scheduler state, and random state, and - return the global training step. - """ - # TODO(aliberts): use safetensors instead as weights_only=False is unsafe - training_state = torch.load(checkpoint_dir / TRAINING_STATE, weights_only=False) - optimizer.load_state_dict(training_state["optimizer"]) - if scheduler is not None: - scheduler.load_state_dict(training_state["scheduler"]) - elif "scheduler" in training_state: - raise ValueError("The checkpoint contains a scheduler state_dict, but no LRScheduler was provided.") - # Small HACK to get the expected keys: use `get_global_random_state`. - set_global_random_state({k: training_state[k] for k in get_global_random_state()}) - return training_state["step"], optimizer, scheduler diff --git a/lerobot/common/optim/optimizers.py b/lerobot/common/optim/optimizers.py index 737305ad..0cf4124c 100644 --- a/lerobot/common/optim/optimizers.py +++ b/lerobot/common/optim/optimizers.py @@ -1,8 +1,32 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import abc from dataclasses import asdict, dataclass +from pathlib import Path import draccus import torch +from safetensors.torch import load_file, save_file + +from lerobot.common.constants import ( + OPTIMIZER_PARAM_GROUPS, + OPTIMIZER_STATE, +) +from lerobot.common.datasets.utils import flatten_dict, unflatten_dict, write_json +from lerobot.common.utils.io_utils import deserialize_json_into_object @dataclass @@ -68,3 +92,27 @@ class SGDConfig(OptimizerConfig): kwargs = asdict(self) kwargs.pop("grad_clip_norm") return torch.optim.SGD(params, **kwargs) + + +def save_optimizer_state(optimizer: torch.optim.Optimizer, save_dir: Path) -> None: + state = optimizer.state_dict() + param_groups = state.pop("param_groups") + flat_state = flatten_dict(state) + save_file(flat_state, save_dir / OPTIMIZER_STATE) + write_json(param_groups, save_dir / OPTIMIZER_PARAM_GROUPS) + + +def load_optimizer_state(optimizer: torch.optim.Optimizer, save_dir: Path) -> torch.optim.Optimizer: + current_state_dict = optimizer.state_dict() + flat_state = load_file(save_dir / OPTIMIZER_STATE) + state = unflatten_dict(flat_state) + loaded_state_dict = {"state": {int(k): v for k, v in state["state"].items()}} + + if "param_groups" in current_state_dict: + param_groups = deserialize_json_into_object( + save_dir / OPTIMIZER_PARAM_GROUPS, current_state_dict["param_groups"] + ) + loaded_state_dict["param_groups"] = param_groups + + optimizer.load_state_dict(loaded_state_dict) + return optimizer diff --git a/lerobot/common/optim/schedulers.py b/lerobot/common/optim/schedulers.py index 80d83bdf..7e158394 100644 --- a/lerobot/common/optim/schedulers.py +++ b/lerobot/common/optim/schedulers.py @@ -1,11 +1,31 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import abc import math from dataclasses import asdict, dataclass +from pathlib import Path import draccus from torch.optim import Optimizer from torch.optim.lr_scheduler import LambdaLR, LRScheduler +from lerobot.common.constants import SCHEDULER_STATE +from lerobot.common.datasets.utils import write_json +from lerobot.common.utils.io_utils import deserialize_json_into_object + @dataclass class LRSchedulerConfig(draccus.ChoiceRegistry, abc.ABC): @@ -89,3 +109,14 @@ class CosineDecayWithWarmupSchedulerConfig(LRSchedulerConfig): return cosine_decay_schedule(current_step) return LambdaLR(optimizer, lr_lambda, -1) + + +def save_scheduler_state(scheduler: LRScheduler, save_dir: Path) -> None: + state_dict = scheduler.state_dict() + write_json(state_dict, save_dir / SCHEDULER_STATE) + + +def load_scheduler_state(scheduler: LRScheduler, save_dir: Path) -> LRScheduler: + state_dict = deserialize_json_into_object(save_dir / SCHEDULER_STATE, scheduler.state_dict()) + scheduler.load_state_dict(state_dict) + return scheduler diff --git a/lerobot/common/policies/act/modeling_act.py b/lerobot/common/policies/act/modeling_act.py index 615f238f..9a1036c3 100644 --- a/lerobot/common/policies/act/modeling_act.py +++ b/lerobot/common/policies/act/modeling_act.py @@ -144,7 +144,7 @@ class ACTPolicy(PreTrainedPolicy): self._action_queue.extend(actions.transpose(0, 1)) return self._action_queue.popleft() - def forward(self, batch: dict[str, Tensor]) -> dict[str, Tensor]: + def forward(self, batch: dict[str, Tensor]) -> tuple[Tensor, dict]: """Run the batch through the model and compute the loss for training or validation.""" batch = self.normalize_inputs(batch) if self.config.image_features: @@ -169,11 +169,11 @@ class ACTPolicy(PreTrainedPolicy): (-0.5 * (1 + log_sigma_x2_hat - mu_hat.pow(2) - (log_sigma_x2_hat).exp())).sum(-1).mean() ) loss_dict["kld_loss"] = mean_kld.item() - loss_dict["loss"] = l1_loss + mean_kld * self.config.kl_weight + loss = l1_loss + mean_kld * self.config.kl_weight else: - loss_dict["loss"] = l1_loss + loss = l1_loss - return loss_dict + return loss, loss_dict class ACTTemporalEnsembler: diff --git a/lerobot/common/policies/diffusion/modeling_diffusion.py b/lerobot/common/policies/diffusion/modeling_diffusion.py index 7147f550..9ecadcb0 100644 --- a/lerobot/common/policies/diffusion/modeling_diffusion.py +++ b/lerobot/common/policies/diffusion/modeling_diffusion.py @@ -143,7 +143,7 @@ class DiffusionPolicy(PreTrainedPolicy): action = self._queues["action"].popleft() return action - def forward(self, batch: dict[str, Tensor]) -> dict[str, Tensor]: + def forward(self, batch: dict[str, Tensor]) -> tuple[Tensor, None]: """Run the batch through the model and compute the loss for training or validation.""" batch = self.normalize_inputs(batch) if self.config.image_features: @@ -153,7 +153,8 @@ class DiffusionPolicy(PreTrainedPolicy): ) batch = self.normalize_targets(batch) loss = self.diffusion.compute_loss(batch) - return {"loss": loss} + # no output_dict so returning None + return loss, None def _make_noise_scheduler(name: str, **kwargs: dict) -> DDPMScheduler | DDIMScheduler: diff --git a/lerobot/common/policies/pretrained.py b/lerobot/common/policies/pretrained.py index 84767594..1729dfb0 100644 --- a/lerobot/common/policies/pretrained.py +++ b/lerobot/common/policies/pretrained.py @@ -163,12 +163,17 @@ class PreTrainedPolicy(nn.Module, HubMixin, abc.ABC): """ raise NotImplementedError + # TODO(aliberts, rcadene): split into 'forward' and 'compute_loss'? @abc.abstractmethod - def forward(self, batch: dict[str, Tensor]) -> dict: - """Run the batch through the model and compute the loss for training or validation. + def forward(self, batch: dict[str, Tensor]) -> tuple[Tensor, dict | None]: + """_summary_ - Returns a dictionary with "loss" and potentially other information. Apart from "loss" which is a Tensor, all - other items should be logging-friendly, native Python types. + Args: + batch (dict[str, Tensor]): _description_ + + Returns: + tuple[Tensor, dict | None]: The loss and potentially other information. Apart from the loss which + is a Tensor, all other items should be logging-friendly, native Python types. """ raise NotImplementedError diff --git a/lerobot/common/policies/tdmpc/modeling_tdmpc.py b/lerobot/common/policies/tdmpc/modeling_tdmpc.py index 6366a5a4..c4f90b8d 100644 --- a/lerobot/common/policies/tdmpc/modeling_tdmpc.py +++ b/lerobot/common/policies/tdmpc/modeling_tdmpc.py @@ -302,7 +302,7 @@ class TDMPCPolicy(PreTrainedPolicy): G -= running_discount * self.config.uncertainty_regularizer_coeff * terminal_values.std(0) return G - def forward(self, batch: dict[str, Tensor]) -> dict[str, Tensor | float]: + def forward(self, batch: dict[str, Tensor]) -> tuple[Tensor, dict]: """Run the batch through the model and compute the loss. Returns a dictionary with loss as a tensor, and other information as native floats. @@ -495,7 +495,6 @@ class TDMPCPolicy(PreTrainedPolicy): "Q_value_loss": q_value_loss.item(), "V_value_loss": v_value_loss.item(), "pi_loss": pi_loss.item(), - "loss": loss, "sum_loss": loss.item() * self.config.horizon, } ) @@ -505,7 +504,7 @@ class TDMPCPolicy(PreTrainedPolicy): if isinstance(batch[key], torch.Tensor) and batch[key].ndim > 1: batch[key] = batch[key].transpose(1, 0) - return info + return loss, info def update(self): """Update the target model's parameters with an EMA step.""" diff --git a/lerobot/common/policies/vqbet/modeling_vqbet.py b/lerobot/common/policies/vqbet/modeling_vqbet.py index c4d4a46d..1f70b186 100644 --- a/lerobot/common/policies/vqbet/modeling_vqbet.py +++ b/lerobot/common/policies/vqbet/modeling_vqbet.py @@ -156,7 +156,7 @@ class VQBeTPolicy(PreTrainedPolicy): action = self._queues["action"].popleft() return action - def forward(self, batch: dict[str, Tensor]) -> dict[str, Tensor]: + def forward(self, batch: dict[str, Tensor]) -> tuple[Tensor, dict]: """Run the batch through the model and compute the loss for training or validation.""" batch = self.normalize_inputs(batch) batch = dict(batch) # shallow copy so that adding a key doesn't modify the original @@ -170,16 +170,16 @@ class VQBeTPolicy(PreTrainedPolicy): loss, n_different_codes, n_different_combinations, recon_l1_error = ( self.vqbet.action_head.discretize(self.config.n_vqvae_training_steps, batch["action"]) ) - return { - "loss": loss, + return loss, { "n_different_codes": n_different_codes, "n_different_combinations": n_different_combinations, "recon_l1_error": recon_l1_error, } # if Residual VQ is already trained, VQ-BeT trains its GPT and bin prediction head / offset prediction head parts. _, loss_dict = self.vqbet(batch, rollout=False) + loss = loss_dict.pop("loss") - return loss_dict + return loss, loss_dict class SpatialSoftmax(nn.Module): @@ -342,7 +342,7 @@ class VQBeTModel(nn.Module): torch.row_stack([torch.arange(i, i + self.config.action_chunk_size) for i in range(num_tokens)]), ) - def forward(self, batch: dict[str, Tensor], rollout: bool) -> Tensor: + def forward(self, batch: dict[str, Tensor], rollout: bool) -> tuple[dict, dict]: # Input validation. assert set(batch).issuperset({"observation.state", "observation.images"}) batch_size, n_obs_steps = batch["observation.state"].shape[:2] @@ -482,7 +482,7 @@ class VQBeTHead(nn.Module): param.requires_grad = False return loss, n_different_codes, n_different_combinations, recon_l1_error - def forward(self, x, **kwargs): + def forward(self, x, **kwargs) -> dict: # N is the batch size, and T is number of action query tokens, which are process through same GPT N, T, _ = x.shape # we calculate N and T side parallely. Thus, the dimensions would be diff --git a/lerobot/common/utils/io_utils.py b/lerobot/common/utils/io_utils.py index b85f17c7..3fc405f7 100644 --- a/lerobot/common/utils/io_utils.py +++ b/lerobot/common/utils/io_utils.py @@ -13,10 +13,16 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +import json import warnings +from pathlib import Path +from typing import TypeVar import imageio +JsonLike = str | int | float | bool | None | list["JsonLike"] | dict[str, "JsonLike"] | tuple["JsonLike", ...] +T = TypeVar("T", bound=JsonLike) + def write_video(video_path, stacked_frames, fps): # Filter out DeprecationWarnings raised from pkg_resources @@ -25,3 +31,81 @@ def write_video(video_path, stacked_frames, fps): "ignore", "pkg_resources is deprecated as an API", category=DeprecationWarning ) imageio.mimsave(video_path, stacked_frames, fps=fps) + + +def deserialize_json_into_object(fpath: Path, obj: T) -> T: + """ + Loads the JSON data from `fpath` and recursively fills `obj` with the + corresponding values (strictly matching structure and types). + Tuples in `obj` are expected to be lists in the JSON data, which will be + converted back into tuples. + """ + with open(fpath, encoding="utf-8") as f: + data = json.load(f) + + def _deserialize(target, source): + """ + Recursively overwrite the structure in `target` with data from `source`, + performing strict checks on structure and type. + Returns the updated version of `target` (especially important for tuples). + """ + + # If the target is a dictionary, source must be a dictionary as well. + if isinstance(target, dict): + if not isinstance(source, dict): + raise TypeError(f"Type mismatch: expected dict, got {type(source)}") + + # Check that they have exactly the same set of keys. + if target.keys() != source.keys(): + raise ValueError( + f"Dictionary keys do not match.\n" f"Expected: {target.keys()}, got: {source.keys()}" + ) + + # Recursively update each key. + for k in target: + target[k] = _deserialize(target[k], source[k]) + + return target + + # If the target is a list, source must be a list as well. + elif isinstance(target, list): + if not isinstance(source, list): + raise TypeError(f"Type mismatch: expected list, got {type(source)}") + + # Check length + if len(target) != len(source): + raise ValueError(f"List length mismatch: expected {len(target)}, got {len(source)}") + + # Recursively update each element. + for i in range(len(target)): + target[i] = _deserialize(target[i], source[i]) + + return target + + # If the target is a tuple, the source must be a list in JSON, + # which we'll convert back to a tuple. + elif isinstance(target, tuple): + if not isinstance(source, list): + raise TypeError(f"Type mismatch: expected list (for tuple), got {type(source)}") + + if len(target) != len(source): + raise ValueError(f"Tuple length mismatch: expected {len(target)}, got {len(source)}") + + # Convert each element, forming a new tuple. + converted_items = [] + for t_item, s_item in zip(target, source, strict=False): + converted_items.append(_deserialize(t_item, s_item)) + + # Return a brand new tuple (tuples are immutable in Python). + return tuple(converted_items) + + # Otherwise, we're dealing with a "primitive" (int, float, str, bool, None). + else: + # Check the exact type. If these must match 1:1, do: + if type(target) is not type(source): + raise TypeError(f"Type mismatch: expected {type(target)}, got {type(source)}") + return source + + # Perform the in-place/recursive deserialization + updated_obj = _deserialize(obj, data) + return updated_obj diff --git a/lerobot/common/utils/logging_utils.py b/lerobot/common/utils/logging_utils.py new file mode 100644 index 00000000..b99c348f --- /dev/null +++ b/lerobot/common/utils/logging_utils.py @@ -0,0 +1,163 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from typing import Any + +from lerobot.common.utils.utils import format_big_number + + +class AverageMeter: + """ + Computes and stores the average and current value + Adapted from https://github.com/pytorch/examples/blob/main/imagenet/main.py + """ + + def __init__(self, name: str, fmt: str = ":f"): + self.name = name + self.fmt = fmt + self.reset() + + def reset(self) -> None: + self.val = 0.0 + self.avg = 0.0 + self.sum = 0.0 + self.count = 0.0 + + def update(self, val: float, n: int = 1) -> None: + self.val = val + self.sum += val * n + self.count += n + self.avg = self.sum / self.count + + def __str__(self): + fmtstr = "{name}:{avg" + self.fmt + "}" + return fmtstr.format(**self.__dict__) + + +class MetricsTracker: + """ + A helper class to track and log metrics over time. + + Usage pattern: + + ```python + # initialize, potentially with non-zero initial step (e.g. if resuming run) + metrics = {"loss": AverageMeter("loss", ":.3f")} + train_metrics = MetricsTracker(cfg, dataset, metrics, initial_step=step) + + # update metrics derived from step (samples, episodes, epochs) at each training step + train_metrics.step() + + # update various metrics + loss = policy.forward(batch) + train_metrics.loss = loss + + # display current metrics + logging.info(train_metrics) + + # export for wandb + wandb.log(train_metrics.to_dict()) + + # reset averages after logging + train_metrics.reset_averages() + ``` + """ + + __keys__ = [ + "_batch_size", + "_num_frames", + "_avg_samples_per_ep", + "metrics", + "steps", + "samples", + "episodes", + "epochs", + ] + + def __init__( + self, + batch_size: int, + num_frames: int, + num_episodes: int, + metrics: dict[str, AverageMeter], + initial_step: int = 0, + ): + self.__dict__.update({k: None for k in self.__keys__}) + self._batch_size = batch_size + self._num_frames = num_frames + self._avg_samples_per_ep = num_frames / num_episodes + self.metrics = metrics + + self.steps = initial_step + # A sample is an (observation,action) pair, where observation and action + # can be on multiple timestamps. In a batch, we have `batch_size` number of samples. + self.samples = self.steps * self._batch_size + self.episodes = self.samples / self._avg_samples_per_ep + self.epochs = self.samples / self._num_frames + + def __getattr__(self, name: str) -> int | dict[str, AverageMeter] | AverageMeter | Any: + if name in self.__dict__: + return self.__dict__[name] + elif name in self.metrics: + return self.metrics[name] + else: + raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") + + def __setattr__(self, name: str, value: Any) -> None: + if name in self.__dict__: + super().__setattr__(name, value) + elif name in self.metrics: + self.metrics[name].update(value) + else: + raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'") + + def step(self) -> None: + """ + Updates metrics that depend on 'step' for one step. + """ + self.steps += 1 + self.samples += self._batch_size + self.episodes = self.samples / self._avg_samples_per_ep + self.epochs = self.samples / self._num_frames + + def __str__(self) -> str: + display_list = [ + f"step:{format_big_number(self.steps)}", + # number of samples seen during training + f"smpl:{format_big_number(self.samples)}", + # number of episodes seen during training + f"ep:{format_big_number(self.episodes)}", + # number of time all unique samples are seen + f"epch:{self.epochs:.2f}", + *[str(m) for m in self.metrics.values()], + ] + return " ".join(display_list) + + def to_dict(self, use_avg: bool = True) -> dict[str, int | float]: + """ + Returns the current metric values (or averages if `use_avg=True`) as a dict. + """ + return { + "steps": self.steps, + "samples": self.samples, + "episodes": self.episodes, + "epochs": self.epochs, + **{k: m.avg if use_avg else m.val for k, m in self.metrics.items()}, + } + + def reset_averages(self) -> None: + """Resets average meters.""" + for m in self.metrics.values(): + m.reset() diff --git a/lerobot/common/utils/random_utils.py b/lerobot/common/utils/random_utils.py new file mode 100644 index 00000000..3d9bf4dd --- /dev/null +++ b/lerobot/common/utils/random_utils.py @@ -0,0 +1,191 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import random +from contextlib import contextmanager +from pathlib import Path +from typing import Any, Generator + +import numpy as np +import torch +from safetensors.torch import load_file, save_file + +from lerobot.common.constants import RNG_STATE +from lerobot.common.datasets.utils import flatten_dict, unflatten_dict + + +def serialize_python_rng_state() -> dict[str, torch.Tensor]: + """ + Returns the rng state for `random` in the form of a flat dict[str, torch.Tensor] to be saved using + `safetensors.save_file()` or `torch.save()`. + """ + py_state = random.getstate() + return { + "py_rng_version": torch.tensor([py_state[0]], dtype=torch.int64), + "py_rng_state": torch.tensor(py_state[1], dtype=torch.int64), + } + + +def deserialize_python_rng_state(rng_state_dict: dict[str, torch.Tensor]) -> None: + """ + Restores the rng state for `random` from a dictionary produced by `serialize_python_rng_state()`. + """ + py_state = (rng_state_dict["py_rng_version"].item(), tuple(rng_state_dict["py_rng_state"].tolist()), None) + random.setstate(py_state) + + +def serialize_numpy_rng_state() -> dict[str, torch.Tensor]: + """ + Returns the rng state for `numpy` in the form of a flat dict[str, torch.Tensor] to be saved using + `safetensors.save_file()` or `torch.save()`. + """ + np_state = np.random.get_state() + # Ensure no breaking changes from numpy + assert np_state[0] == "MT19937" + return { + "np_rng_state_values": torch.tensor(np_state[1], dtype=torch.int64), + "np_rng_state_index": torch.tensor([np_state[2]], dtype=torch.int64), + "np_rng_has_gauss": torch.tensor([np_state[3]], dtype=torch.int64), + "np_rng_cached_gaussian": torch.tensor([np_state[4]], dtype=torch.float32), + } + + +def deserialize_numpy_rng_state(rng_state_dict: dict[str, torch.Tensor]) -> None: + """ + Restores the rng state for `numpy` from a dictionary produced by `serialize_numpy_rng_state()`. + """ + np_state = ( + "MT19937", + rng_state_dict["np_rng_state_values"].numpy(), + rng_state_dict["np_rng_state_index"].item(), + rng_state_dict["np_rng_has_gauss"].item(), + rng_state_dict["np_rng_cached_gaussian"].item(), + ) + np.random.set_state(np_state) + + +def serialize_torch_rng_state() -> dict[str, torch.Tensor]: + """ + Returns the rng state for `torch` in the form of a flat dict[str, torch.Tensor] to be saved using + `safetensors.save_file()` or `torch.save()`. + """ + torch_rng_state_dict = {"torch_rng_state": torch.get_rng_state()} + if torch.cuda.is_available(): + torch_rng_state_dict["torch_cuda_rng_state"] = torch.cuda.get_rng_state() + return torch_rng_state_dict + + +def deserialize_torch_rng_state(rng_state_dict: dict[str, torch.Tensor]) -> None: + """ + Restores the rng state for `torch` from a dictionary produced by `serialize_torch_rng_state()`. + """ + torch.set_rng_state(rng_state_dict["torch_rng_state"]) + if torch.cuda.is_available() and "torch_cuda_rng_state" in rng_state_dict: + torch.cuda.set_rng_state(rng_state_dict["torch_cuda_rng_state"]) + + +def serialize_rng_state() -> dict[str, torch.Tensor]: + """ + Returns the rng state for `random`, `numpy`, and `torch`, in the form of a flat + dict[str, torch.Tensor] to be saved using `safetensors.save_file()` `torch.save()`. + """ + py_rng_state_dict = serialize_python_rng_state() + np_rng_state_dict = serialize_numpy_rng_state() + torch_rng_state_dict = serialize_torch_rng_state() + + return { + **py_rng_state_dict, + **np_rng_state_dict, + **torch_rng_state_dict, + } + + +def deserialize_rng_state(rng_state_dict: dict[str, torch.Tensor]) -> None: + """ + Restores the rng state for `random`, `numpy`, and `torch` from a dictionary produced by + `serialize_rng_state()`. + """ + py_rng_state_dict = {k: v for k, v in rng_state_dict.items() if k.startswith("py")} + np_rng_state_dict = {k: v for k, v in rng_state_dict.items() if k.startswith("np")} + torch_rng_state_dict = {k: v for k, v in rng_state_dict.items() if k.startswith("torch")} + + deserialize_python_rng_state(py_rng_state_dict) + deserialize_numpy_rng_state(np_rng_state_dict) + deserialize_torch_rng_state(torch_rng_state_dict) + + +def save_rng_state(save_dir: Path) -> None: + rng_state_dict = serialize_rng_state() + flat_rng_state_dict = flatten_dict(rng_state_dict) + save_file(flat_rng_state_dict, save_dir / RNG_STATE) + + +def load_rng_state(save_dir: Path) -> None: + flat_rng_state_dict = load_file(save_dir / RNG_STATE) + rng_state_dict = unflatten_dict(flat_rng_state_dict) + deserialize_rng_state(rng_state_dict) + + +def get_rng_state() -> dict[str, Any]: + """Get the random state for `random`, `numpy`, and `torch`.""" + random_state_dict = { + "random_state": random.getstate(), + "numpy_random_state": np.random.get_state(), + "torch_random_state": torch.random.get_rng_state(), + } + if torch.cuda.is_available(): + random_state_dict["torch_cuda_random_state"] = torch.cuda.random.get_rng_state() + return random_state_dict + + +def set_rng_state(random_state_dict: dict[str, Any]): + """Set the random state for `random`, `numpy`, and `torch`. + + Args: + random_state_dict: A dictionary of the form returned by `get_rng_state`. + """ + random.setstate(random_state_dict["random_state"]) + np.random.set_state(random_state_dict["numpy_random_state"]) + torch.random.set_rng_state(random_state_dict["torch_random_state"]) + if torch.cuda.is_available(): + torch.cuda.random.set_rng_state(random_state_dict["torch_cuda_random_state"]) + + +def set_seed(seed) -> None: + """Set seed for reproducibility.""" + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + if torch.cuda.is_available(): + torch.cuda.manual_seed_all(seed) + + +@contextmanager +def seeded_context(seed: int) -> Generator[None, None, None]: + """Set the seed when entering a context, and restore the prior random state at exit. + + Example usage: + + ``` + a = random.random() # produces some random number + with seeded_context(1337): + b = random.random() # produces some other random number + c = random.random() # produces yet another random number, but the same it would have if we never made `b` + ``` + """ + random_state_dict = get_rng_state() + set_seed(seed) + yield None + set_rng_state(random_state_dict) diff --git a/lerobot/common/utils/train_utils.py b/lerobot/common/utils/train_utils.py new file mode 100644 index 00000000..a7998312 --- /dev/null +++ b/lerobot/common/utils/train_utils.py @@ -0,0 +1,161 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import logging +from pathlib import Path + +from termcolor import colored +from torch.optim import Optimizer +from torch.optim.lr_scheduler import LRScheduler + +from lerobot.common.constants import ( + CHECKPOINTS_DIR, + LAST_CHECKPOINT_LINK, + PRETRAINED_MODEL_DIR, + TRAINING_STATE_DIR, + TRAINING_STEP, +) +from lerobot.common.datasets.utils import load_json, write_json +from lerobot.common.optim.optimizers import load_optimizer_state, save_optimizer_state +from lerobot.common.optim.schedulers import load_scheduler_state, save_scheduler_state +from lerobot.common.policies.pretrained import PreTrainedPolicy +from lerobot.common.utils.random_utils import load_rng_state, save_rng_state +from lerobot.configs.train import TrainPipelineConfig + + +def log_output_dir(out_dir): + logging.info(colored("Output dir:", "yellow", attrs=["bold"]) + f" {out_dir}") + + +def get_step_identifier(step: int, total_steps: int) -> str: + num_digits = max(6, len(str(total_steps))) + return f"{step:0{num_digits}d}" + + +def get_step_checkpoint_dir(output_dir: Path, total_steps: int, step: int) -> Path: + """Returns the checkpoint sub-directory corresponding to the step number.""" + step_identifier = get_step_identifier(step, total_steps) + return output_dir / CHECKPOINTS_DIR / step_identifier + + +def save_training_step(step: int, save_dir: Path) -> None: + write_json({"step": step}, save_dir / TRAINING_STEP) + + +def load_training_step(save_dir: Path) -> int: + training_step = load_json(save_dir / TRAINING_STEP) + return training_step["step"] + + +def update_last_checkpoint(checkpoint_dir: Path) -> Path: + last_checkpoint_dir = checkpoint_dir.parent / LAST_CHECKPOINT_LINK + if last_checkpoint_dir.is_symlink(): + last_checkpoint_dir.unlink() + relative_target = checkpoint_dir.relative_to(checkpoint_dir.parent) + last_checkpoint_dir.symlink_to(relative_target) + + +def save_checkpoint( + checkpoint_dir: Path, + step: int, + cfg: TrainPipelineConfig, + policy: PreTrainedPolicy, + optimizer: Optimizer, + scheduler: LRScheduler | None = None, +) -> None: + """This function creates the following directory structure: + + 005000/ # training step at checkpoint + ├── pretrained_model/ + │ ├── config.json # policy config + │ ├── model.safetensors # policy weights + │ └── train_config.json # train config + └── training_state/ + ├── optimizer_param_groups.json # optimizer param groups + ├── optimizer_state.safetensors # optimizer state + ├── rng_state.safetensors # rng states + ├── scheduler_state.json # scheduler state + └── training_step.json # training step + + Args: + cfg (TrainPipelineConfig): The training config used for this run. + step (int): The training step at that checkpoint. + policy (PreTrainedPolicy): The policy to save. + optimizer (Optimizer | None, optional): The optimizer to save the state from. Defaults to None. + scheduler (LRScheduler | None, optional): The scheduler to save the state from. Defaults to None. + """ + pretrained_dir = checkpoint_dir / PRETRAINED_MODEL_DIR + policy.save_pretrained(pretrained_dir) + cfg.save_pretrained(pretrained_dir) + save_training_state(checkpoint_dir, step, optimizer, scheduler) + + +def save_training_state( + checkpoint_dir: Path, + train_step: int, + optimizer: Optimizer | None = None, + scheduler: LRScheduler | None = None, +) -> None: + """ + Saves the training step, optimizer state, scheduler state, and rng state. + + Args: + save_dir (Path): The directory to save artifacts to. + train_step (int): Current training step. + optimizer (Optimizer | None, optional): The optimizer from which to save the state_dict. + Defaults to None. + scheduler (LRScheduler | None, optional): The scheduler from which to save the state_dict. + Defaults to None. + """ + save_dir = checkpoint_dir / TRAINING_STATE_DIR + save_dir.mkdir(parents=True, exist_ok=True) + save_training_step(train_step, save_dir) + save_rng_state(save_dir) + if optimizer is not None: + save_optimizer_state(optimizer, save_dir) + if scheduler is not None: + save_scheduler_state(scheduler, save_dir) + + +def load_training_state( + checkpoint_dir: Path, optimizer: Optimizer, scheduler: LRScheduler | None +) -> tuple[int, Optimizer, LRScheduler | None]: + """ + Loads the training step, optimizer state, scheduler state, and rng state. + This is used to resume a training run. + + Args: + checkpoint_dir (Path): The checkpoint directory. Should contain a 'training_state' dir. + optimizer (Optimizer): The optimizer to load the state_dict to. + scheduler (LRScheduler | None): The scheduler to load the state_dict to (can be None). + + Raises: + NotADirectoryError: If 'checkpoint_dir' doesn't contain a 'training_state' dir + + Returns: + tuple[int, Optimizer, LRScheduler | None]: training step, optimizer and scheduler with their + state_dict loaded. + """ + training_state_dir = checkpoint_dir / TRAINING_STATE_DIR + if not training_state_dir.is_dir(): + raise NotADirectoryError(training_state_dir) + + load_rng_state(training_state_dir) + step = load_training_step(training_state_dir) + optimizer = load_optimizer_state(optimizer, training_state_dir) + if scheduler is not None: + scheduler = load_scheduler_state(scheduler, training_state_dir) + + return step, optimizer, scheduler diff --git a/lerobot/common/utils/utils.py b/lerobot/common/utils/utils.py index cb4f1874..015d1ede 100644 --- a/lerobot/common/utils/utils.py +++ b/lerobot/common/utils/utils.py @@ -17,14 +17,10 @@ import logging import os import os.path as osp import platform -import random -from contextlib import contextmanager from copy import copy from datetime import datetime, timezone from pathlib import Path -from typing import Any, Generator -import numpy as np import torch @@ -106,59 +102,6 @@ def is_amp_available(device: str): raise ValueError(f"Unknown device '{device}.") -def get_global_random_state() -> dict[str, Any]: - """Get the random state for `random`, `numpy`, and `torch`.""" - random_state_dict = { - "random_state": random.getstate(), - "numpy_random_state": np.random.get_state(), - "torch_random_state": torch.random.get_rng_state(), - } - if torch.cuda.is_available(): - random_state_dict["torch_cuda_random_state"] = torch.cuda.random.get_rng_state() - return random_state_dict - - -def set_global_random_state(random_state_dict: dict[str, Any]): - """Set the random state for `random`, `numpy`, and `torch`. - - Args: - random_state_dict: A dictionary of the form returned by `get_global_random_state`. - """ - random.setstate(random_state_dict["random_state"]) - np.random.set_state(random_state_dict["numpy_random_state"]) - torch.random.set_rng_state(random_state_dict["torch_random_state"]) - if torch.cuda.is_available(): - torch.cuda.random.set_rng_state(random_state_dict["torch_cuda_random_state"]) - - -def set_global_seed(seed): - """Set seed for reproducibility.""" - random.seed(seed) - np.random.seed(seed) - torch.manual_seed(seed) - if torch.cuda.is_available(): - torch.cuda.manual_seed_all(seed) - - -@contextmanager -def seeded_context(seed: int) -> Generator[None, None, None]: - """Set the seed when entering a context, and restore the prior random state at exit. - - Example usage: - - ``` - a = random.random() # produces some random number - with seeded_context(1337): - b = random.random() # produces some other random number - c = random.random() # produces yet another random number, but the same it would have if we never made `b` - ``` - """ - random_state_dict = get_global_random_state() - set_global_seed(seed) - yield None - set_global_random_state(random_state_dict) - - def init_logging(): def custom_format(record): dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S") diff --git a/lerobot/common/utils/wandb_utils.py b/lerobot/common/utils/wandb_utils.py new file mode 100644 index 00000000..2ab3c3fd --- /dev/null +++ b/lerobot/common/utils/wandb_utils.py @@ -0,0 +1,121 @@ +#!/usr/bin/env python + +# Copyright 2024 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import logging +import os +import re +from glob import glob +from pathlib import Path + +from huggingface_hub.constants import SAFETENSORS_SINGLE_FILE +from termcolor import colored + +from lerobot.common.constants import PRETRAINED_MODEL_DIR +from lerobot.configs.train import TrainPipelineConfig + + +def cfg_to_group(cfg: TrainPipelineConfig, return_list: bool = False) -> list[str] | str: + """Return a group name for logging. Optionally returns group name as list.""" + lst = [ + f"policy:{cfg.policy.type}", + f"dataset:{cfg.dataset.repo_id}", + f"seed:{cfg.seed}", + ] + if cfg.env is not None: + lst.append(f"env:{cfg.env.type}") + return lst if return_list else "-".join(lst) + + +def get_wandb_run_id_from_filesystem(log_dir: Path) -> str: + # Get the WandB run ID. + paths = glob(str(log_dir / "wandb/latest-run/run-*")) + if len(paths) != 1: + raise RuntimeError("Couldn't get the previous WandB run ID for run resumption.") + match = re.search(r"run-([^\.]+).wandb", paths[0].split("/")[-1]) + if match is None: + raise RuntimeError("Couldn't get the previous WandB run ID for run resumption.") + wandb_run_id = match.groups(0)[0] + return wandb_run_id + + +def get_safe_wandb_artifact_name(name: str): + """WandB artifacts don't accept ":" or "/" in their name.""" + return name.replace(":", "_").replace("/", "_") + + +class WandBLogger: + """A helper class to log object using wandb.""" + + def __init__(self, cfg: TrainPipelineConfig): + self.cfg = cfg.wandb + self.log_dir = cfg.output_dir + self.job_name = cfg.job_name + self.env_fps = cfg.env.fps if cfg.env else None + self._group = cfg_to_group(cfg) + + # Set up WandB. + os.environ["WANDB_SILENT"] = "True" + import wandb + + wandb_run_id = get_wandb_run_id_from_filesystem(self.log_dir) if cfg.resume else None + wandb.init( + id=wandb_run_id, + project=self.cfg.project, + entity=self.cfg.entity, + name=self.job_name, + notes=self.cfg.notes, + tags=cfg_to_group(cfg, return_list=True), + dir=self.log_dir, + config=cfg.to_dict(), + # TODO(rcadene): try set to True + save_code=False, + # TODO(rcadene): split train and eval, and run async eval with job_type="eval" + job_type="train_eval", + resume="must" if cfg.resume else None, + ) + print(colored("Logs will be synced with wandb.", "blue", attrs=["bold"])) + logging.info(f"Track this run --> {colored(wandb.run.get_url(), 'yellow', attrs=['bold'])}") + self._wandb = wandb + + def log_policy(self, checkpoint_dir: Path): + """Checkpoints the policy to wandb.""" + if self.cfg.disable_artifact: + return + + step_id = checkpoint_dir.name + artifact_name = f"{self._group}-{step_id}" + artifact_name = get_safe_wandb_artifact_name(artifact_name) + artifact = self._wandb.Artifact(artifact_name, type="model") + artifact.add_file(checkpoint_dir / PRETRAINED_MODEL_DIR / SAFETENSORS_SINGLE_FILE) + self._wandb.log_artifact(artifact) + + def log_dict(self, d: dict, step: int, mode: str = "train"): + if mode in {"train", "eval"}: + raise ValueError(mode) + + for k, v in d.items(): + if not isinstance(v, (int, float, str)): + logging.warning( + f'WandB logging of key "{k}" was ignored as its type is not handled by this wrapper.' + ) + continue + self._wandb.log({f"{mode}/{k}": v}, step=step) + + def log_video(self, video_path: str, step: int, mode: str = "train"): + if mode in {"train", "eval"}: + raise ValueError(mode) + + wandb_video = self._wandb.Video(video_path, fps=self.env_fps, format="mp4") + self._wandb.log({f"{mode}/video": wandb_video}, step=step) diff --git a/lerobot/configs/train.py b/lerobot/configs/train.py index 3d976e81..9d63339d 100644 --- a/lerobot/configs/train.py +++ b/lerobot/configs/train.py @@ -21,68 +21,6 @@ from lerobot.configs.policies import PreTrainedConfig TRAIN_CONFIG_NAME = "train_config.json" -@dataclass -class OfflineConfig: - steps: int = 100_000 - - -@dataclass -class OnlineConfig: - """ - The online training loop looks something like: - - ```python - for i in range(steps): - do_online_rollout_and_update_online_buffer() - for j in range(steps_between_rollouts): - batch = next(dataloader_with_offline_and_online_data) - loss = policy(batch) - loss.backward() - optimizer.step() - ``` - - Note that the online training loop adopts most of the options from the offline loop unless specified - otherwise. - """ - - steps: int = 0 - # How many episodes to collect at once when we reach the online rollout part of the training loop. - rollout_n_episodes: int = 1 - # The number of environments to use in the gym.vector.VectorEnv. This ends up also being the batch size for - # the policy. Ideally you should set this to by an even divisor of rollout_n_episodes. - rollout_batch_size: int = 1 - # How many optimization steps (forward, backward, optimizer step) to do between running rollouts. - steps_between_rollouts: int | None = None - # The proportion of online samples (vs offline samples) to include in the online training batches. - sampling_ratio: float = 0.5 - # First seed to use for the online rollout environment. Seeds for subsequent rollouts are incremented by 1. - env_seed: int | None = None - # Sets the maximum number of frames that are stored in the online buffer for online training. The buffer is - # FIFO. - buffer_capacity: int | None = None - # The minimum number of frames to have in the online buffer before commencing online training. - # If buffer_seed_size > rollout_n_episodes, the rollout will be run multiple times until the - # seed size condition is satisfied. - buffer_seed_size: int = 0 - # Whether to run the online rollouts asynchronously. This means we can run the online training steps in - # parallel with the rollouts. This might be advised if your GPU has the bandwidth to handle training - # + eval + environment rendering simultaneously. - do_rollout_async: bool = False - - def __post_init__(self): - if self.steps == 0: - return - - if self.steps_between_rollouts is None: - raise ValueError( - "'steps_between_rollouts' must be set to a positive integer, but it is currently None." - ) - if self.env_seed is None: - raise ValueError("'env_seed' must be set to a positive integer, but it is currently None.") - if self.buffer_capacity is None: - raise ValueError("'buffer_capacity' must be set to a positive integer, but it is currently None.") - - @dataclass class TrainPipelineConfig(HubMixin): dataset: DatasetConfig @@ -107,13 +45,12 @@ class TrainPipelineConfig(HubMixin): # Number of workers for the dataloader. num_workers: int = 4 batch_size: int = 8 + steps: int = 100_000 eval_freq: int = 20_000 log_freq: int = 200 save_checkpoint: bool = True # Checkpoint is saved every `save_freq` training iterations and after the last training step. save_freq: int = 20_000 - offline: OfflineConfig = field(default_factory=OfflineConfig) - online: OnlineConfig = field(default_factory=OnlineConfig) use_policy_training_preset: bool = True optimizer: OptimizerConfig | None = None scheduler: LRSchedulerConfig | None = None @@ -168,11 +105,8 @@ class TrainPipelineConfig(HubMixin): train_dir = f"{now:%Y-%m-%d}/{now:%H-%M-%S}_{self.job_name}" self.output_dir = Path("outputs/train") / train_dir - if self.online.steps > 0: - if isinstance(self.dataset.repo_id, list): - raise NotImplementedError("Online training with LeRobotMultiDataset is not implemented.") - if self.env is None: - raise ValueError("An environment is required for online training") + if isinstance(self.dataset.repo_id, list): + raise NotImplementedError("LeRobotMultiDataset is not currently implemented.") if not self.use_policy_training_preset and (self.optimizer is None or self.scheduler is None): raise ValueError("Optimizer and Scheduler must be set when the policy presets are not used.") @@ -185,6 +119,9 @@ class TrainPipelineConfig(HubMixin): """This enables the parser to load config from the policy using `--policy.path=local/dir`""" return ["policy"] + def to_dict(self) -> dict: + return draccus.encode(self) + def _save_pretrained(self, save_directory: Path) -> None: with open(save_directory / TRAIN_CONFIG_NAME, "w") as f, draccus.config_type("json"): draccus.dump(self, f, indent=4) diff --git a/lerobot/scripts/eval.py b/lerobot/scripts/eval.py index 253bc45c..7318748f 100644 --- a/lerobot/scripts/eval.py +++ b/lerobot/scripts/eval.py @@ -61,21 +61,21 @@ import einops import gymnasium as gym import numpy as np import torch +from termcolor import colored from torch import Tensor, nn from tqdm import trange from lerobot.common.envs.factory import make_env from lerobot.common.envs.utils import preprocess_observation -from lerobot.common.logger import log_output_dir from lerobot.common.policies.factory import make_policy from lerobot.common.policies.pretrained import PreTrainedPolicy from lerobot.common.policies.utils import get_device_from_parameters from lerobot.common.utils.io_utils import write_video +from lerobot.common.utils.random_utils import set_seed from lerobot.common.utils.utils import ( get_safe_torch_device, init_logging, inside_slurm, - set_global_seed, ) from lerobot.configs import parser from lerobot.configs.eval import EvalPipelineConfig @@ -125,9 +125,6 @@ def rollout( # Reset the policy and environments. policy.reset() - if hasattr(policy, "use_ema_modules"): - policy.use_ema_modules() - observation, info = env.reset(seed=seeds) if render_callback is not None: render_callback(env) @@ -463,9 +460,9 @@ def eval(cfg: EvalPipelineConfig): torch.backends.cudnn.benchmark = True torch.backends.cuda.matmul.allow_tf32 = True - set_global_seed(cfg.seed) + set_seed(cfg.seed) - log_output_dir(cfg.output_dir) + logging.info(colored("Output dir:", "yellow", attrs=["bold"]) + f" {cfg.output_dir}") logging.info("Making environment.") env = make_env(cfg.env, n_envs=cfg.eval.batch_size, use_async_envs=cfg.eval.use_async_envs) diff --git a/lerobot/scripts/train.py b/lerobot/scripts/train.py index 9af1a972..a840b33d 100644 --- a/lerobot/scripts/train.py +++ b/lerobot/scripts/train.py @@ -15,58 +15,61 @@ # limitations under the License. import logging import time -from concurrent.futures import ThreadPoolExecutor from contextlib import nullcontext -from copy import deepcopy -from dataclasses import asdict from pprint import pformat -from threading import Lock +from typing import Any -import numpy as np import torch +from termcolor import colored from torch.amp import GradScaler +from torch.optim import Optimizer -from lerobot.common.datasets.factory import make_dataset, resolve_delta_timestamps -from lerobot.common.datasets.lerobot_dataset import LeRobotDataset -from lerobot.common.datasets.online_buffer import OnlineBuffer, compute_sampler_weights +from lerobot.common.datasets.factory import make_dataset from lerobot.common.datasets.sampler import EpisodeAwareSampler from lerobot.common.datasets.utils import cycle from lerobot.common.envs.factory import make_env -from lerobot.common.logger import Logger, log_output_dir -from lerobot.common.optim.factory import load_training_state, make_optimizer_and_scheduler +from lerobot.common.optim.factory import make_optimizer_and_scheduler from lerobot.common.policies.factory import make_policy +from lerobot.common.policies.pretrained import PreTrainedPolicy from lerobot.common.policies.utils import get_device_from_parameters +from lerobot.common.utils.logging_utils import AverageMeter, MetricsTracker +from lerobot.common.utils.random_utils import set_seed +from lerobot.common.utils.train_utils import ( + get_step_checkpoint_dir, + get_step_identifier, + load_training_state, + save_checkpoint, + update_last_checkpoint, +) from lerobot.common.utils.utils import ( format_big_number, - get_safe_dtype, get_safe_torch_device, has_method, init_logging, - set_global_seed, ) +from lerobot.common.utils.wandb_utils import WandBLogger from lerobot.configs import parser from lerobot.configs.train import TrainPipelineConfig from lerobot.scripts.eval import eval_policy def update_policy( - policy, - batch, - optimizer, - grad_clip_norm, + train_metrics: MetricsTracker, + policy: PreTrainedPolicy, + batch: Any, + optimizer: Optimizer, + grad_clip_norm: float, grad_scaler: GradScaler, lr_scheduler=None, use_amp: bool = False, lock=None, -): - """Returns a dictionary of items for logging.""" +) -> tuple[MetricsTracker, dict]: start_time = time.perf_counter() device = get_device_from_parameters(policy) policy.train() with torch.autocast(device_type=device.type) if use_amp else nullcontext(): - output_dict = policy.forward(batch) + loss, output_dict = policy.forward(batch) # TODO(rcadene): policy.unnormalize_outputs(out_dict) - loss = output_dict["loss"] grad_scaler.scale(loss).backward() # Unscale the graident of the optimzer's assigned params in-place **prior to gradient clipping**. @@ -87,9 +90,6 @@ def update_policy( optimizer.zero_grad() - if hasattr(policy, "update_ema_modules"): - policy.update_ema_modules() - # Step through pytorch scheduler at every batch instead of epoch if lr_scheduler is not None: lr_scheduler.step() @@ -98,113 +98,34 @@ def update_policy( # To possibly update an internal buffer (for instance an Exponential Moving Average like in TDMPC). policy.update() - info = { - "loss": loss.item(), - "grad_norm": float(grad_norm), - "lr": optimizer.param_groups[0]["lr"], - "update_s": time.perf_counter() - start_time, - **{k: v for k, v in output_dict.items() if k != "loss"}, - } - info.update({k: v for k, v in output_dict.items() if k not in info}) - - return info - - -def log_train_info( - logger: Logger, info: dict, step: int, cfg: TrainPipelineConfig, dataset: LeRobotDataset, is_online: bool -): - loss = info["loss"] - grad_norm = info["grad_norm"] - lr = info["lr"] - update_s = info["update_s"] - dataloading_s = info["dataloading_s"] - - # A sample is an (observation,action) pair, where observation and action - # can be on multiple timestamps. In a batch, we have `batch_size`` number of samples. - num_samples = (step + 1) * cfg.batch_size - avg_samples_per_ep = dataset.num_frames / dataset.num_episodes - num_episodes = num_samples / avg_samples_per_ep - num_epochs = num_samples / dataset.num_frames - log_items = [ - f"step:{format_big_number(step)}", - # number of samples seen during training - f"smpl:{format_big_number(num_samples)}", - # number of episodes seen during training - f"ep:{format_big_number(num_episodes)}", - # number of time all unique samples are seen - f"epch:{num_epochs:.2f}", - f"loss:{loss:.3f}", - f"grdn:{grad_norm:.3f}", - f"lr:{lr:0.1e}", - # in seconds - f"updt_s:{update_s:.3f}", - f"data_s:{dataloading_s:.3f}", # if not ~0, you are bottlenecked by cpu or io - ] - logging.info(" ".join(log_items)) - - info["step"] = step - info["num_samples"] = num_samples - info["num_episodes"] = num_episodes - info["num_epochs"] = num_epochs - info["is_online"] = is_online - - logger.log_dict(info, step, mode="train") - - -def log_eval_info(logger, info, step, cfg, dataset, is_online): - eval_s = info["eval_s"] - avg_sum_reward = info["avg_sum_reward"] - pc_success = info["pc_success"] - - # A sample is an (observation,action) pair, where observation and action - # can be on multiple timestamps. In a batch, we have `batch_size`` number of samples. - num_samples = (step + 1) * cfg.batch_size - avg_samples_per_ep = dataset.num_frames / dataset.num_episodes - num_episodes = num_samples / avg_samples_per_ep - num_epochs = num_samples / dataset.num_frames - log_items = [ - f"step:{format_big_number(step)}", - # number of samples seen during training - f"smpl:{format_big_number(num_samples)}", - # number of episodes seen during training - f"ep:{format_big_number(num_episodes)}", - # number of time all unique samples are seen - f"epch:{num_epochs:.2f}", - f"∑rwrd:{avg_sum_reward:.3f}", - f"success:{pc_success:.1f}%", - f"eval_s:{eval_s:.3f}", - ] - logging.info(" ".join(log_items)) - - info["step"] = step - info["num_samples"] = num_samples - info["num_episodes"] = num_episodes - info["num_epochs"] = num_epochs - info["is_online"] = is_online - - logger.log_dict(info, step, mode="eval") + train_metrics.loss = loss.item() + train_metrics.grad_norm = grad_norm.item() + train_metrics.lr = optimizer.param_groups[0]["lr"] + train_metrics.update_s = time.perf_counter() - start_time + return train_metrics, output_dict @parser.wrap() def train(cfg: TrainPipelineConfig): cfg.validate() + logging.info(pformat(cfg.to_dict())) - logging.info(pformat(asdict(cfg))) - - # log metrics to terminal and wandb - logger = Logger(cfg) + if cfg.wandb.enable and cfg.wandb.project: + wandb_logger = WandBLogger(cfg) + else: + wandb_logger = None + logging.info(colored("Logs will be saved locally.", "yellow", attrs=["bold"])) if cfg.seed is not None: - set_global_seed(cfg.seed) + set_seed(cfg.seed) # Check device is available device = get_safe_torch_device(cfg.device, log=True) - torch.backends.cudnn.benchmark = True torch.backends.cuda.matmul.allow_tf32 = True logging.info("Creating dataset") - offline_dataset = make_dataset(cfg) + dataset = make_dataset(cfg) # Create environment used for evaluating checkpoints during training on simulation data. # On real-world data, no need to create an environment as evaluations are done outside train.py, @@ -218,7 +139,7 @@ def train(cfg: TrainPipelineConfig): policy = make_policy( cfg=cfg.policy, device=device, - ds_meta=offline_dataset.meta, + ds_meta=dataset.meta, ) logging.info("Creating optimizer and scheduler") @@ -233,65 +154,29 @@ def train(cfg: TrainPipelineConfig): num_learnable_params = sum(p.numel() for p in policy.parameters() if p.requires_grad) num_total_params = sum(p.numel() for p in policy.parameters()) - log_output_dir(cfg.output_dir) + logging.info(colored("Output dir:", "yellow", attrs=["bold"]) + f" {cfg.output_dir}") if cfg.env is not None: logging.info(f"{cfg.env.task=}") - logging.info(f"{cfg.offline.steps=} ({format_big_number(cfg.offline.steps)})") - logging.info(f"{cfg.online.steps=}") - logging.info(f"{offline_dataset.num_frames=} ({format_big_number(offline_dataset.num_frames)})") - logging.info(f"{offline_dataset.num_episodes=}") + logging.info(f"{cfg.steps=} ({format_big_number(cfg.steps)})") + logging.info(f"{dataset.num_frames=} ({format_big_number(dataset.num_frames)})") + logging.info(f"{dataset.num_episodes=}") logging.info(f"{num_learnable_params=} ({format_big_number(num_learnable_params)})") logging.info(f"{num_total_params=} ({format_big_number(num_total_params)})") - # Note: this helper will be used in offline and online training loops. - def evaluate_and_checkpoint_if_needed(step: int, is_online: bool): - _num_digits = max(6, len(str(cfg.offline.steps + cfg.online.steps))) - step_identifier = f"{step:0{_num_digits}d}" - - if cfg.env is not None and cfg.eval_freq > 0 and step % cfg.eval_freq == 0: - logging.info(f"Eval policy at step {step}") - with torch.no_grad(), torch.autocast(device_type=device.type) if cfg.use_amp else nullcontext(): - eval_info = eval_policy( - eval_env, - policy, - cfg.eval.n_episodes, - videos_dir=cfg.output_dir / "eval" / f"videos_step_{step_identifier}", - max_episodes_rendered=4, - start_seed=cfg.seed, - ) - log_eval_info(logger, eval_info["aggregated"], step, cfg, offline_dataset, is_online=is_online) - if cfg.wandb.enable: - logger.log_video(eval_info["video_paths"][0], step, mode="eval") - logging.info("Resume training") - - if cfg.save_checkpoint and ( - step % cfg.save_freq == 0 or step == cfg.offline.steps + cfg.online.steps - ): - logging.info(f"Checkpoint policy after step {step}") - # Note: Save with step as the identifier, and format it to have at least 6 digits but more if - # needed (choose 6 as a minimum for consistency without being overkill). - logger.save_checkpoint( - step, - step_identifier, - policy, - optimizer, - lr_scheduler, - ) - logging.info("Resume training") - # create dataloader for offline training - if getattr(cfg.policy, "drop_n_last_frames", None): + if hasattr(cfg.policy, "drop_n_last_frames"): shuffle = False sampler = EpisodeAwareSampler( - offline_dataset.episode_data_index, + dataset.episode_data_index, drop_n_last_frames=cfg.policy.drop_n_last_frames, shuffle=True, ) else: shuffle = True sampler = None + dataloader = torch.utils.data.DataLoader( - offline_dataset, + dataset, num_workers=cfg.num_workers, batch_size=cfg.batch_size, shuffle=shuffle, @@ -303,23 +188,30 @@ def train(cfg: TrainPipelineConfig): policy.train() - if hasattr(policy, "init_ema_modules"): - policy.init_ema_modules() + train_metrics = { + "loss": AverageMeter("loss", ":.3f"), + "grad_norm": AverageMeter("grdn", ":.3f"), + "lr": AverageMeter("lr", ":0.1e"), + "update_s": AverageMeter("updt_s", ":.3f"), + "dataloading_s": AverageMeter("data_s", ":.3f"), + } - offline_step = 0 - for _ in range(step, cfg.offline.steps): - if offline_step == 0: - logging.info("Start offline training on a fixed dataset") + train_tracker = MetricsTracker( + cfg.batch_size, dataset.num_frames, dataset.num_episodes, train_metrics, initial_step=step + ) + logging.info("Start offline training on a fixed dataset") + for _ in range(step, cfg.steps): start_time = time.perf_counter() batch = next(dl_iter) - dataloading_s = time.perf_counter() - start_time + train_tracker.dataloading_s = time.perf_counter() - start_time for key in batch: if isinstance(batch[key], torch.Tensor): batch[key] = batch[key].to(device, non_blocking=True) - train_info = update_policy( + train_tracker, output_dict = update_policy( + train_tracker, policy, batch, optimizer, @@ -329,231 +221,57 @@ def train(cfg: TrainPipelineConfig): use_amp=cfg.use_amp, ) - train_info["dataloading_s"] = dataloading_s - - if step % cfg.log_freq == 0: - log_train_info(logger, train_info, step, cfg, offline_dataset, is_online=False) - - # Note: evaluate_and_checkpoint_if_needed happens **after** the `step`th training update has completed, - # so we pass in step + 1. - evaluate_and_checkpoint_if_needed(step + 1, is_online=False) - + # Note: eval and checkpoint happens *after* the `step`th training update has completed, so we + # increment `step` here. step += 1 - offline_step += 1 # noqa: SIM113 + train_tracker.step() + is_log_step = cfg.log_freq > 0 and step % cfg.log_freq == 0 + is_saving_step = step % cfg.save_freq == 0 or step == cfg.steps + is_eval_step = cfg.eval_freq > 0 and step % cfg.eval_freq == 0 - if cfg.online.steps == 0: - if eval_env: - eval_env.close() - logging.info("End of training") - return + if is_log_step: + logging.info(train_tracker) + if wandb_logger: + wandb_log_dict = {**train_tracker.to_dict(), **output_dict} + wandb_logger.log_dict(wandb_log_dict) + train_tracker.reset_averages() - # Online training. + if cfg.save_checkpoint and is_saving_step: + logging.info(f"Checkpoint policy after step {step}") + checkpoint_dir = get_step_checkpoint_dir(cfg.output_dir, cfg.steps, step) + save_checkpoint(checkpoint_dir, step, cfg, policy, optimizer, lr_scheduler) + update_last_checkpoint(checkpoint_dir) + if wandb_logger: + wandb_logger.log_policy(checkpoint_dir) - # Create an env dedicated to online episodes collection from policy rollout. - online_env = make_env(cfg.env, n_envs=cfg.online.rollout_batch_size) - delta_timestamps = resolve_delta_timestamps(cfg.policy, offline_dataset.meta) - online_buffer_path = logger.log_dir / "online_buffer" - if cfg.resume and not online_buffer_path.exists(): - # If we are resuming a run, we default to the data shapes and buffer capacity from the saved online - # buffer. - logging.warning( - "When online training is resumed, we load the latest online buffer from the prior run, " - "and this might not coincide with the state of the buffer as it was at the moment the checkpoint " - "was made. This is because the online buffer is updated on disk during training, independently " - "of our explicit checkpointing mechanisms." - ) - online_dataset = OnlineBuffer( - online_buffer_path, - data_spec={ - **{ - key: {"shape": ft.shape, "dtype": np.dtype("float32")} - for key, ft in policy.config.input_features.items() - }, - **{ - key: {"shape": ft.shape, "dtype": np.dtype("float32")} - for key, ft in policy.config.output_features.items() - }, - "next.reward": {"shape": (), "dtype": np.dtype("float32")}, - "next.done": {"shape": (), "dtype": np.dtype("?")}, - "task_index": {"shape": (), "dtype": np.dtype("int64")}, - # FIXME: 'task' is a string - # "task": {"shape": (), "dtype": np.dtype("?")}, - # FIXME: 'next.success' is expected by pusht env but not xarm - "next.success": {"shape": (), "dtype": np.dtype("?")}, - }, - buffer_capacity=cfg.online.buffer_capacity, - fps=online_env.unwrapped.metadata["render_fps"], - delta_timestamps=delta_timestamps, - ) - - # If we are doing online rollouts asynchronously, deepcopy the policy to use for online rollouts (this - # makes it possible to do online rollouts in parallel with training updates). - online_rollout_policy = deepcopy(policy) if cfg.online.do_rollout_async else policy - - # Create dataloader for online training. - concat_dataset = torch.utils.data.ConcatDataset([offline_dataset, online_dataset]) - sampler_weights = compute_sampler_weights( - offline_dataset, - offline_drop_n_last_frames=getattr(cfg.policy, "drop_n_last_frames", 0), - online_dataset=online_dataset, - # +1 because online rollouts return an extra frame for the "final observation". Note: we don't have - # this final observation in the offline datasets, but we might add them in future. - online_drop_n_last_frames=getattr(cfg.policy, "drop_n_last_frames", 0) + 1, - online_sampling_ratio=cfg.online.sampling_ratio, - ) - sampler = torch.utils.data.WeightedRandomSampler( - sampler_weights, - num_samples=len(concat_dataset), - replacement=True, - ) - dataloader = torch.utils.data.DataLoader( - concat_dataset, - batch_size=cfg.batch_size, - num_workers=cfg.num_workers, - sampler=sampler, - pin_memory=device.type != "cpu", - drop_last=True, - ) - dl_iter = cycle(dataloader) - - if cfg.online.do_rollout_async: - # Lock and thread pool executor for asynchronous online rollouts. - lock = Lock() - # Note: 1 worker because we only ever want to run one set of online rollouts at a time. Batch - # parallelization of rollouts is handled within the job. - executor = ThreadPoolExecutor(max_workers=1) - else: - lock = None - - online_step = 0 - online_rollout_s = 0 # time take to do online rollout - update_online_buffer_s = 0 # time taken to update the online buffer with the online rollout data - # Time taken waiting for the online buffer to finish being updated. This is relevant when using the async - # online rollout option. - await_update_online_buffer_s = 0 - rollout_start_seed = cfg.online.env_seed - - while True: - if online_step == cfg.online.steps: - break - - if online_step == 0: - logging.info("Start online training by interacting with environment") - - def sample_trajectory_and_update_buffer(): - nonlocal rollout_start_seed - - with lock if lock is not None else nullcontext(): - online_rollout_policy.load_state_dict(policy.state_dict()) - - online_rollout_policy.eval() - start_rollout_time = time.perf_counter() - - with torch.no_grad(): + if cfg.env and is_eval_step: + step_id = get_step_identifier(step, cfg.steps) + logging.info(f"Eval policy at step {step}") + with torch.no_grad(), torch.autocast(device_type=device.type) if cfg.use_amp else nullcontext(): eval_info = eval_policy( - online_env, - online_rollout_policy, - n_episodes=cfg.online.rollout_n_episodes, - max_episodes_rendered=min(10, cfg.online.rollout_n_episodes), - videos_dir=logger.log_dir / "online_rollout_videos", - return_episode_data=True, - start_seed=(rollout_start_seed := (rollout_start_seed + cfg.batch_size) % 1000000), + eval_env, + policy, + cfg.eval.n_episodes, + videos_dir=cfg.output_dir / "eval" / f"videos_step_{step_id}", + max_episodes_rendered=4, + start_seed=cfg.seed, ) - online_rollout_s = time.perf_counter() - start_rollout_time - if len(offline_dataset.meta.tasks) > 1: - raise NotImplementedError("Add support for multi task.") - - # TODO(rcadene, aliberts): Hack to add a task to the online_dataset (0 is the first task of the offline_dataset) - total_num_frames = eval_info["episodes"]["index"].shape[0] - eval_info["episodes"]["task_index"] = torch.tensor([0] * total_num_frames, dtype=torch.int64) - eval_info["episodes"]["task"] = ["do the thing"] * total_num_frames - - with lock if lock is not None else nullcontext(): - start_update_buffer_time = time.perf_counter() - online_dataset.add_data(eval_info["episodes"]) - - # Update the concatenated dataset length used during sampling. - concat_dataset.cumulative_sizes = concat_dataset.cumsum(concat_dataset.datasets) - - # Update the sampling weights. - sampler.weights = compute_sampler_weights( - offline_dataset, - offline_drop_n_last_frames=getattr(cfg.policy, "drop_n_last_frames", 0), - online_dataset=online_dataset, - # +1 because online rollouts return an extra frame for the "final observation". Note: we don't have - # this final observation in the offline datasets, but we might add them in future. - online_drop_n_last_frames=getattr(cfg.policy, "drop_n_last_frames", 0) + 1, - online_sampling_ratio=cfg.online.sampling_ratio, - ) - sampler.num_frames = len(concat_dataset) - - update_online_buffer_s = time.perf_counter() - start_update_buffer_time - - return online_rollout_s, update_online_buffer_s - - if lock is None: - online_rollout_s, update_online_buffer_s = sample_trajectory_and_update_buffer() - else: - future = executor.submit(sample_trajectory_and_update_buffer) - # If we aren't doing async rollouts, or if we haven't yet gotten enough examples in our buffer, wait - # here until the rollout and buffer update is done, before proceeding to the policy update steps. - if len(online_dataset) <= cfg.online.buffer_seed_size: - online_rollout_s, update_online_buffer_s = future.result() - - if len(online_dataset) <= cfg.online.buffer_seed_size: - logging.info(f"Seeding online buffer: {len(online_dataset)}/{cfg.online.buffer_seed_size}") - continue - - policy.train() - for _ in range(cfg.online.steps_between_rollouts): - with lock if lock is not None else nullcontext(): - start_time = time.perf_counter() - batch = next(dl_iter) - dataloading_s = time.perf_counter() - start_time - - for key in batch: - if isinstance(batch[key], torch.Tensor): - dtype = get_safe_dtype(batch[key].dtype, device) - batch[key] = batch[key].to(device=device, dtype=dtype, non_blocking=True) - - train_info = update_policy( - policy, - batch, - optimizer, - cfg.optimizer.grad_clip_norm, - grad_scaler=grad_scaler, - lr_scheduler=lr_scheduler, - use_amp=cfg.use_amp, - lock=lock, + eval_metrics = { + "avg_sum_reward": AverageMeter("∑rwrd", ":.3f"), + "pc_success": AverageMeter("success", ":.1f"), + "eval_s": AverageMeter("eval_s", ":.3f"), + } + eval_tracker = MetricsTracker( + cfg.batch_size, dataset.num_frames, dataset.num_episodes, eval_metrics, initial_step=step ) - - train_info["dataloading_s"] = dataloading_s - train_info["online_rollout_s"] = online_rollout_s - train_info["update_online_buffer_s"] = update_online_buffer_s - train_info["await_update_online_buffer_s"] = await_update_online_buffer_s - with lock if lock is not None else nullcontext(): - train_info["online_buffer_size"] = len(online_dataset) - - if step % cfg.log_freq == 0: - log_train_info(logger, train_info, step, cfg, online_dataset, is_online=True) - - # Note: evaluate_and_checkpoint_if_needed happens **after** the `step`th training update has completed, - # so we pass in step + 1. - evaluate_and_checkpoint_if_needed(step + 1, is_online=True) - - step += 1 - online_step += 1 - - # If we're doing async rollouts, we should now wait until we've completed them before proceeding - # to do the next batch of rollouts. - if cfg.online.do_rollout_async and future.running(): - start = time.perf_counter() - online_rollout_s, update_online_buffer_s = future.result() - await_update_online_buffer_s = time.perf_counter() - start - - if online_step >= cfg.online.steps: - break + eval_tracker.eval_s = eval_info["aggregated"].pop("eval_s") + eval_tracker.avg_sum_reward = eval_info["aggregated"].pop("avg_sum_reward") + eval_tracker.pc_success = eval_info["aggregated"].pop("pc_success") + logging.info(eval_tracker) + if wandb_logger: + wandb_log_dict = {**eval_tracker.to_dict(), **eval_info} + wandb_logger.log_video(eval_info["video_paths"][0], step, mode="eval") if eval_env: eval_env.close() diff --git a/poetry.lock b/poetry.lock index 7f53cfb0..bfa3f084 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1257,12 +1257,14 @@ pyarrow = "*" [[package]] name = "draccus" -version = "0.9.3" +version = "0.10.0" description = "A slightly opinionated framework for simple dataclass-based configurations based on Pyrallis." optional = false -python-versions = ">=3.8" -files = [] -develop = false +python-versions = ">=3.9" +files = [ + {file = "draccus-0.10.0-py3-none-any.whl", hash = "sha256:90243418ae0e9271c390a59cafb6acfd37001193696ed36fcc8525f791a83282"}, + {file = "draccus-0.10.0.tar.gz", hash = "sha256:8dd08304219becdcd66cd16058ba98e9c3e6b7bfe48ccb9579dae39f8d37ae19"}, +] [package.dependencies] mergedeep = ">=1.3,<2.0" @@ -1274,12 +1276,6 @@ typing-inspect = ">=0.9.0,<0.10.0" [package.extras] dev = ["black", "mypy", "pre-commit", "pytest", "ruff"] -[package.source] -type = "git" -url = "https://github.com/dlwh/draccus.git" -reference = "HEAD" -resolved_reference = "9b690730ca108930519f48cc5dead72a72fd27cb" - [[package]] name = "drawnow" version = "0.72.5" @@ -4911,8 +4907,6 @@ files = [ {file = "PyAudio-0.2.14-cp311-cp311-win_amd64.whl", hash = "sha256:bbeb01d36a2f472ae5ee5e1451cacc42112986abe622f735bb870a5db77cf903"}, {file = "PyAudio-0.2.14-cp312-cp312-win32.whl", hash = "sha256:5fce4bcdd2e0e8c063d835dbe2860dac46437506af509353c7f8114d4bacbd5b"}, {file = "PyAudio-0.2.14-cp312-cp312-win_amd64.whl", hash = "sha256:12f2f1ba04e06ff95d80700a78967897a489c05e093e3bffa05a84ed9c0a7fa3"}, - {file = "PyAudio-0.2.14-cp313-cp313-win32.whl", hash = "sha256:95328285b4dab57ea8c52a4a996cb52be6d629353315be5bfda403d15932a497"}, - {file = "PyAudio-0.2.14-cp313-cp313-win_amd64.whl", hash = "sha256:692d8c1446f52ed2662120bcd9ddcb5aa2b71f38bda31e58b19fb4672fffba69"}, {file = "PyAudio-0.2.14-cp38-cp38-win32.whl", hash = "sha256:858caf35b05c26d8fc62f1efa2e8f53d5fa1a01164842bd622f70ddc41f55000"}, {file = "PyAudio-0.2.14-cp38-cp38-win_amd64.whl", hash = "sha256:2dac0d6d675fe7e181ba88f2de88d321059b69abd52e3f4934a8878e03a7a074"}, {file = "PyAudio-0.2.14-cp39-cp39-win32.whl", hash = "sha256:f745109634a7c19fa4d6b8b7d6967c3123d988c9ade0cd35d4295ee1acdb53e9"}, @@ -6934,7 +6928,7 @@ test = ["pytest", "ruff"] name = "tokenizers" version = "0.21.0" description = "" -optional = false +optional = true python-versions = ">=3.7" files = [ {file = "tokenizers-0.21.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:3c4c93eae637e7d2aaae3d376f06085164e1660f89304c0ab2b1d08a406636b2"}, @@ -7168,7 +7162,7 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, name = "transformers" version = "4.48.0" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" -optional = false +optional = true python-versions = ">=3.9.0" files = [ {file = "transformers-4.48.0-py3-none-any.whl", hash = "sha256:6d3de6d71cb5f2a10f9775ccc17abce9620195caaf32ec96542bd2a6937f25b0"}, @@ -7936,4 +7930,4 @@ xarm = ["gym-xarm"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "089df92a0455bb58d2f600ad645b99362c9ff2b800a0c6108edc09f51509c716" +content-hash = "3df78b6f373b1e4ee79530932f386fb4cfd302c1ceffe26617d26fb1a7e751ce" diff --git a/pyproject.toml b/pyproject.toml index ec30aaea..4469f5ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,8 +69,8 @@ pyrender = {git = "https://github.com/mmatl/pyrender.git", markers = "sys_platfo hello-robot-stretch-body = {version = ">=0.7.27", markers = "sys_platform == 'linux'", optional = true} pyserial = {version = ">=3.5", optional = true} jsonlines = ">=4.0.0" -transformers = ">=4.48.0" -draccus = {git = "https://github.com/dlwh/draccus.git"} # replace with draccus = ">=0.9.4" when https://github.com/dlwh/draccus/pull/29 is in release +transformers = {version = ">=4.48.0", optional = true} +draccus = ">=0.10.0" [tool.poetry.extras] diff --git a/tests/conftest.py b/tests/conftest.py index b49bebd9..dc746142 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -28,6 +28,7 @@ pytest_plugins = [ "tests.fixtures.dataset_factories", "tests.fixtures.files", "tests.fixtures.hub", + "tests.fixtures.optimizers", ] diff --git a/tests/fixtures/optimizers.py b/tests/fixtures/optimizers.py new file mode 100644 index 00000000..1a9b9d11 --- /dev/null +++ b/tests/fixtures/optimizers.py @@ -0,0 +1,26 @@ +import pytest +import torch + +from lerobot.common.optim.optimizers import AdamConfig +from lerobot.common.optim.schedulers import VQBeTSchedulerConfig + + +@pytest.fixture +def model_params(): + return [torch.nn.Parameter(torch.randn(10, 10))] + + +@pytest.fixture +def optimizer(model_params): + optimizer = AdamConfig().build(model_params) + # Dummy step to populate state + loss = sum(param.sum() for param in model_params) + loss.backward() + optimizer.step() + return optimizer + + +@pytest.fixture +def scheduler(optimizer): + config = VQBeTSchedulerConfig(num_warmup_steps=10, num_vqvae_training_steps=20, num_cycles=0.5) + return config.build(optimizer, num_training_steps=100) diff --git a/tests/scripts/save_image_transforms_to_safetensors.py b/tests/scripts/save_image_transforms_to_safetensors.py index 8a011a22..bd2c3add 100644 --- a/tests/scripts/save_image_transforms_to_safetensors.py +++ b/tests/scripts/save_image_transforms_to_safetensors.py @@ -25,7 +25,7 @@ from lerobot.common.datasets.transforms import ( ImageTransformsConfig, make_transform_from_config, ) -from lerobot.common.utils.utils import seeded_context +from lerobot.common.utils.random_utils import seeded_context ARTIFACT_DIR = Path("tests/data/save_image_transforms_to_safetensors") DATASET_REPO_ID = "lerobot/aloha_mobile_shrimp" diff --git a/tests/scripts/save_policy_to_safetensors.py b/tests/scripts/save_policy_to_safetensors.py index 7bfdc6b1..de784db3 100644 --- a/tests/scripts/save_policy_to_safetensors.py +++ b/tests/scripts/save_policy_to_safetensors.py @@ -22,14 +22,14 @@ from safetensors.torch import save_file from lerobot.common.datasets.factory import make_dataset from lerobot.common.optim.factory import make_optimizer_and_scheduler from lerobot.common.policies.factory import make_policy, make_policy_config -from lerobot.common.utils.utils import set_global_seed +from lerobot.common.utils.random_utils import set_seed from lerobot.configs.default import DatasetConfig from lerobot.configs.train import TrainPipelineConfig def get_policy_stats(ds_repo_id, env_name, policy_name, policy_kwargs, train_kwargs): # TODO(rcadene, aliberts): env_name? - set_global_seed(1337) + set_seed(1337) train_cfg = TrainPipelineConfig( # TODO(rcadene, aliberts): remove dataset download @@ -53,9 +53,9 @@ def get_policy_stats(ds_repo_id, env_name, policy_name, policy_kwargs, train_kwa ) batch = next(iter(dataloader)) - output_dict = policy.forward(batch) + loss, output_dict = policy.forward(batch) output_dict = {k: v for k, v in output_dict.items() if isinstance(v, torch.Tensor)} - loss = output_dict["loss"] + output_dict["loss"] = loss loss.backward() grad_stats = {} diff --git a/tests/test_control_robot.py b/tests/test_control_robot.py index e80b507c..36ee096f 100644 --- a/tests/test_control_robot.py +++ b/tests/test_control_robot.py @@ -29,7 +29,6 @@ from unittest.mock import patch import pytest -from lerobot.common.logger import Logger from lerobot.common.policies.act.configuration_act import ACTConfig from lerobot.common.policies.factory import make_policy from lerobot.common.robot_devices.control_configs import ( @@ -38,9 +37,7 @@ from lerobot.common.robot_devices.control_configs import ( ReplayControlConfig, TeleoperateControlConfig, ) -from lerobot.configs.default import DatasetConfig from lerobot.configs.policies import PreTrainedConfig -from lerobot.configs.train import TrainPipelineConfig from lerobot.scripts.control_robot import calibrate, record, replay, teleoperate from tests.test_robots import make_robot from tests.utils import DEVICE, TEST_ROBOT_TYPES, mock_calibration_dir, require_robot @@ -185,20 +182,8 @@ def test_record_and_replay_and_policy(tmpdir, request, robot_type, mock): out_dir = tmpdir / "logger" - ds_cfg = DatasetConfig(repo_id, local_files_only=True) - train_cfg = TrainPipelineConfig( - dataset=ds_cfg, - policy=policy_cfg, - output_dir=out_dir, - device=DEVICE, - ) - logger = Logger(train_cfg) - logger.save_checkpoint( - train_step=0, - identifier=0, - policy=policy, - ) pretrained_policy_path = out_dir / "checkpoints/last/pretrained_model" + policy.save_pretrained(pretrained_policy_path) # In `examples/9_use_aloha.md`, we advise using `num_image_writer_processes=1` # during inference, to reach constent fps, so we test this here. diff --git a/tests/test_datasets.py b/tests/test_datasets.py index b11534ee..2945df41 100644 --- a/tests/test_datasets.py +++ b/tests/test_datasets.py @@ -46,7 +46,7 @@ from lerobot.common.datasets.utils import ( from lerobot.common.envs.factory import make_env_config from lerobot.common.policies.factory import make_policy_config from lerobot.common.robot_devices.robots.utils import make_robot -from lerobot.common.utils.utils import seeded_context +from lerobot.common.utils.random_utils import seeded_context from lerobot.configs.default import DatasetConfig from lerobot.configs.train import TrainPipelineConfig from tests.fixtures.constants import DUMMY_REPO_ID diff --git a/tests/test_image_transforms.py b/tests/test_image_transforms.py index 72a4ee6e..c118018a 100644 --- a/tests/test_image_transforms.py +++ b/tests/test_image_transforms.py @@ -28,7 +28,7 @@ from lerobot.common.datasets.transforms import ( SharpnessJitter, make_transform_from_config, ) -from lerobot.common.utils.utils import seeded_context +from lerobot.common.utils.random_utils import seeded_context from lerobot.scripts.visualize_image_transforms import ( save_all_transforms, save_each_transform, diff --git a/tests/test_io_utils.py b/tests/test_io_utils.py new file mode 100644 index 00000000..d14f7adc --- /dev/null +++ b/tests/test_io_utils.py @@ -0,0 +1,74 @@ +import json +from pathlib import Path +from typing import Any + +import pytest + +from lerobot.common.utils.io_utils import deserialize_json_into_object + + +@pytest.fixture +def tmp_json_file(tmp_path: Path): + """Writes `data` to a temporary JSON file and returns the file's path.""" + + def _write(data: Any) -> Path: + file_path = tmp_path / "data.json" + with file_path.open("w", encoding="utf-8") as f: + json.dump(data, f) + return file_path + + return _write + + +def test_simple_dict(tmp_json_file): + data = {"name": "Alice", "age": 30} + json_path = tmp_json_file(data) + obj = {"name": "", "age": 0} + assert deserialize_json_into_object(json_path, obj) == data + + +def test_nested_structure(tmp_json_file): + data = {"items": [1, 2, 3], "info": {"active": True}} + json_path = tmp_json_file(data) + obj = {"items": [0, 0, 0], "info": {"active": False}} + assert deserialize_json_into_object(json_path, obj) == data + + +def test_tuple_conversion(tmp_json_file): + data = {"coords": [10.5, 20.5]} + json_path = tmp_json_file(data) + obj = {"coords": (0.0, 0.0)} + result = deserialize_json_into_object(json_path, obj) + assert result["coords"] == (10.5, 20.5) + + +def test_type_mismatch_raises(tmp_json_file): + data = {"numbers": {"bad": "structure"}} + json_path = tmp_json_file(data) + obj = {"numbers": [0, 0]} + with pytest.raises(TypeError): + deserialize_json_into_object(json_path, obj) + + +def test_missing_key_raises(tmp_json_file): + data = {"one": 1} + json_path = tmp_json_file(data) + obj = {"one": 0, "two": 0} + with pytest.raises(ValueError): + deserialize_json_into_object(json_path, obj) + + +def test_extra_key_raises(tmp_json_file): + data = {"one": 1, "two": 2} + json_path = tmp_json_file(data) + obj = {"one": 0} + with pytest.raises(ValueError): + deserialize_json_into_object(json_path, obj) + + +def test_list_length_mismatch_raises(tmp_json_file): + data = {"nums": [1, 2, 3]} + json_path = tmp_json_file(data) + obj = {"nums": [0, 0]} + with pytest.raises(ValueError): + deserialize_json_into_object(json_path, obj) diff --git a/tests/test_logging_utils.py b/tests/test_logging_utils.py new file mode 100644 index 00000000..72385496 --- /dev/null +++ b/tests/test_logging_utils.py @@ -0,0 +1,107 @@ +import pytest + +from lerobot.common.utils.logging_utils import AverageMeter, MetricsTracker + + +@pytest.fixture +def mock_metrics(): + return {"loss": AverageMeter("loss", ":.3f"), "accuracy": AverageMeter("accuracy", ":.2f")} + + +def test_average_meter_initialization(): + meter = AverageMeter("loss", ":.2f") + assert meter.name == "loss" + assert meter.fmt == ":.2f" + assert meter.val == 0.0 + assert meter.avg == 0.0 + assert meter.sum == 0.0 + assert meter.count == 0.0 + + +def test_average_meter_update(): + meter = AverageMeter("accuracy") + meter.update(5, n=2) + assert meter.val == 5 + assert meter.sum == 10 + assert meter.count == 2 + assert meter.avg == 5 + + +def test_average_meter_reset(): + meter = AverageMeter("loss") + meter.update(3, 4) + meter.reset() + assert meter.val == 0.0 + assert meter.avg == 0.0 + assert meter.sum == 0.0 + assert meter.count == 0.0 + + +def test_average_meter_str(): + meter = AverageMeter("metric", ":.1f") + meter.update(4.567, 3) + assert str(meter) == "metric:4.6" + + +def test_metrics_tracker_initialization(mock_metrics): + tracker = MetricsTracker( + batch_size=32, num_frames=1000, num_episodes=50, metrics=mock_metrics, initial_step=10 + ) + assert tracker.steps == 10 + assert tracker.samples == 10 * 32 + assert tracker.episodes == tracker.samples / (1000 / 50) + assert tracker.epochs == tracker.samples / 1000 + assert "loss" in tracker.metrics + assert "accuracy" in tracker.metrics + + +def test_metrics_tracker_step(mock_metrics): + tracker = MetricsTracker( + batch_size=32, num_frames=1000, num_episodes=50, metrics=mock_metrics, initial_step=5 + ) + tracker.step() + assert tracker.steps == 6 + assert tracker.samples == 6 * 32 + assert tracker.episodes == tracker.samples / (1000 / 50) + assert tracker.epochs == tracker.samples / 1000 + + +def test_metrics_tracker_getattr(mock_metrics): + tracker = MetricsTracker(batch_size=32, num_frames=1000, num_episodes=50, metrics=mock_metrics) + assert tracker.loss == mock_metrics["loss"] + assert tracker.accuracy == mock_metrics["accuracy"] + with pytest.raises(AttributeError): + _ = tracker.non_existent_metric + + +def test_metrics_tracker_setattr(mock_metrics): + tracker = MetricsTracker(batch_size=32, num_frames=1000, num_episodes=50, metrics=mock_metrics) + tracker.loss = 2.0 + assert tracker.loss.val == 2.0 + + +def test_metrics_tracker_str(mock_metrics): + tracker = MetricsTracker(batch_size=32, num_frames=1000, num_episodes=50, metrics=mock_metrics) + tracker.loss.update(3.456, 1) + tracker.accuracy.update(0.876, 1) + output = str(tracker) + assert "loss:3.456" in output + assert "accuracy:0.88" in output + + +def test_metrics_tracker_to_dict(mock_metrics): + tracker = MetricsTracker(batch_size=32, num_frames=1000, num_episodes=50, metrics=mock_metrics) + tracker.loss.update(5, 2) + metrics_dict = tracker.to_dict() + assert isinstance(metrics_dict, dict) + assert metrics_dict["loss"] == 5 # average value + assert metrics_dict["steps"] == tracker.steps + + +def test_metrics_tracker_reset_averages(mock_metrics): + tracker = MetricsTracker(batch_size=32, num_frames=1000, num_episodes=50, metrics=mock_metrics) + tracker.loss.update(10, 3) + tracker.accuracy.update(0.95, 5) + tracker.reset_averages() + assert tracker.loss.avg == 0.0 + assert tracker.accuracy.avg == 0.0 diff --git a/tests/test_optimizers.py b/tests/test_optimizers.py new file mode 100644 index 00000000..cf5c5b18 --- /dev/null +++ b/tests/test_optimizers.py @@ -0,0 +1,43 @@ +import pytest +import torch + +from lerobot.common.constants import ( + OPTIMIZER_PARAM_GROUPS, + OPTIMIZER_STATE, +) +from lerobot.common.optim.optimizers import ( + AdamConfig, + AdamWConfig, + SGDConfig, + load_optimizer_state, + save_optimizer_state, +) + + +@pytest.mark.parametrize( + "config_cls, expected_class", + [ + (AdamConfig, torch.optim.Adam), + (AdamWConfig, torch.optim.AdamW), + (SGDConfig, torch.optim.SGD), + ], +) +def test_optimizer_build(config_cls, expected_class, model_params): + config = config_cls() + optimizer = config.build(model_params) + assert isinstance(optimizer, expected_class) + assert optimizer.defaults["lr"] == config.lr + + +def test_save_optimizer_state(optimizer, tmp_path): + save_optimizer_state(optimizer, tmp_path) + assert (tmp_path / OPTIMIZER_STATE).is_file() + assert (tmp_path / OPTIMIZER_PARAM_GROUPS).is_file() + + +def test_save_and_load_optimizer_state(model_params, optimizer, tmp_path): + save_optimizer_state(optimizer, tmp_path) + loaded_optimizer = AdamConfig().build(model_params) + loaded_optimizer = load_optimizer_state(loaded_optimizer, tmp_path) + + torch.testing.assert_close(optimizer.state_dict(), loaded_optimizer.state_dict()) diff --git a/tests/test_policies.py b/tests/test_policies.py index a949a52c..4374157d 100644 --- a/tests/test_policies.py +++ b/tests/test_policies.py @@ -36,7 +36,7 @@ from lerobot.common.policies.factory import ( ) from lerobot.common.policies.normalize import Normalize, Unnormalize from lerobot.common.policies.pretrained import PreTrainedPolicy -from lerobot.common.utils.utils import seeded_context +from lerobot.common.utils.random_utils import seeded_context from lerobot.configs.default import DatasetConfig from lerobot.configs.train import TrainPipelineConfig from lerobot.configs.types import FeatureType, NormalizationMode, PolicyFeature diff --git a/tests/test_random_utils.py b/tests/test_random_utils.py new file mode 100644 index 00000000..8eee2b68 --- /dev/null +++ b/tests/test_random_utils.py @@ -0,0 +1,109 @@ +import random + +import numpy as np +import pytest +import torch + +from lerobot.common.utils.random_utils import ( + deserialize_numpy_rng_state, + deserialize_python_rng_state, + deserialize_rng_state, + deserialize_torch_rng_state, + get_rng_state, + seeded_context, + serialize_numpy_rng_state, + serialize_python_rng_state, + serialize_rng_state, + serialize_torch_rng_state, + set_rng_state, + set_seed, +) + + +@pytest.fixture +def fixed_seed(): + """Fixture to set a consistent initial seed for each test.""" + set_seed(12345) + yield + + +def test_serialize_deserialize_python_rng(fixed_seed): + # Save state after generating val1 + _ = random.random() + st = serialize_python_rng_state() + # Next random is val2 + val2 = random.random() + # Restore the state, so the next random should match val2 + deserialize_python_rng_state(st) + val3 = random.random() + assert val2 == val3 + + +def test_serialize_deserialize_numpy_rng(fixed_seed): + _ = np.random.rand() + st = serialize_numpy_rng_state() + val2 = np.random.rand() + deserialize_numpy_rng_state(st) + val3 = np.random.rand() + assert val2 == val3 + + +def test_serialize_deserialize_torch_rng(fixed_seed): + _ = torch.rand(1).item() + st = serialize_torch_rng_state() + val2 = torch.rand(1).item() + deserialize_torch_rng_state(st) + val3 = torch.rand(1).item() + assert val2 == val3 + + +def test_serialize_deserialize_rng(fixed_seed): + # Generate one from each library + _ = random.random() + _ = np.random.rand() + _ = torch.rand(1).item() + # Serialize + st = serialize_rng_state() + # Generate second set + val_py2 = random.random() + val_np2 = np.random.rand() + val_th2 = torch.rand(1).item() + # Restore, so the next draws should match val_py2, val_np2, val_th2 + deserialize_rng_state(st) + assert random.random() == val_py2 + assert np.random.rand() == val_np2 + assert torch.rand(1).item() == val_th2 + + +def test_get_set_rng_state(fixed_seed): + st = get_rng_state() + val1 = (random.random(), np.random.rand(), torch.rand(1).item()) + # Change states + random.random() + np.random.rand() + torch.rand(1) + # Restore + set_rng_state(st) + val2 = (random.random(), np.random.rand(), torch.rand(1).item()) + assert val1 == val2 + + +def test_set_seed(): + set_seed(1337) + val1 = (random.random(), np.random.rand(), torch.rand(1).item()) + set_seed(1337) + val2 = (random.random(), np.random.rand(), torch.rand(1).item()) + assert val1 == val2 + + +def test_seeded_context(fixed_seed): + val1 = (random.random(), np.random.rand(), torch.rand(1).item()) + with seeded_context(1337): + seeded_val1 = (random.random(), np.random.rand(), torch.rand(1).item()) + val2 = (random.random(), np.random.rand(), torch.rand(1).item()) + with seeded_context(1337): + seeded_val2 = (random.random(), np.random.rand(), torch.rand(1).item()) + + assert seeded_val1 == seeded_val2 + assert all(a != b for a, b in zip(val1, seeded_val1, strict=True)) # changed inside the context + assert all(a != b for a, b in zip(val2, seeded_val2, strict=True)) # changed again after exiting diff --git a/tests/test_schedulers.py b/tests/test_schedulers.py new file mode 100644 index 00000000..e871fee1 --- /dev/null +++ b/tests/test_schedulers.py @@ -0,0 +1,81 @@ +from torch.optim.lr_scheduler import LambdaLR + +from lerobot.common.constants import SCHEDULER_STATE +from lerobot.common.optim.schedulers import ( + CosineDecayWithWarmupSchedulerConfig, + DiffuserSchedulerConfig, + VQBeTSchedulerConfig, + load_scheduler_state, + save_scheduler_state, +) + + +def test_diffuser_scheduler(optimizer): + config = DiffuserSchedulerConfig(name="cosine", num_warmup_steps=5) + scheduler = config.build(optimizer, num_training_steps=100) + assert isinstance(scheduler, LambdaLR) + + optimizer.step() # so that we don't get torch warning + scheduler.step() + expected_state_dict = { + "_get_lr_called_within_step": False, + "_last_lr": [0.0002], + "_step_count": 2, + "base_lrs": [0.001], + "last_epoch": 1, + "lr_lambdas": [None], + "verbose": False, + } + assert scheduler.state_dict() == expected_state_dict + + +def test_vqbet_scheduler(optimizer): + config = VQBeTSchedulerConfig(num_warmup_steps=10, num_vqvae_training_steps=20, num_cycles=0.5) + scheduler = config.build(optimizer, num_training_steps=100) + assert isinstance(scheduler, LambdaLR) + + optimizer.step() + scheduler.step() + expected_state_dict = { + "_get_lr_called_within_step": False, + "_last_lr": [0.001], + "_step_count": 2, + "base_lrs": [0.001], + "last_epoch": 1, + "lr_lambdas": [None], + "verbose": False, + } + assert scheduler.state_dict() == expected_state_dict + + +def test_cosine_decay_with_warmup_scheduler(optimizer): + config = CosineDecayWithWarmupSchedulerConfig( + num_warmup_steps=10, num_decay_steps=90, peak_lr=0.01, decay_lr=0.001 + ) + scheduler = config.build(optimizer, num_training_steps=100) + assert isinstance(scheduler, LambdaLR) + + optimizer.step() + scheduler.step() + expected_state_dict = { + "_get_lr_called_within_step": False, + "_last_lr": [0.0001818181818181819], + "_step_count": 2, + "base_lrs": [0.001], + "last_epoch": 1, + "lr_lambdas": [None], + "verbose": False, + } + assert scheduler.state_dict() == expected_state_dict + + +def test_save_scheduler_state(scheduler, tmp_path): + save_scheduler_state(scheduler, tmp_path) + assert (tmp_path / SCHEDULER_STATE).is_file() + + +def test_save_load_scheduler_state(scheduler, tmp_path): + save_scheduler_state(scheduler, tmp_path) + loaded_scheduler = load_scheduler_state(scheduler, tmp_path) + + assert scheduler.state_dict() == loaded_scheduler.state_dict() diff --git a/tests/test_train_utils.py b/tests/test_train_utils.py new file mode 100644 index 00000000..d6ed0063 --- /dev/null +++ b/tests/test_train_utils.py @@ -0,0 +1,84 @@ +from pathlib import Path +from unittest.mock import Mock, patch + +from lerobot.common.constants import ( + CHECKPOINTS_DIR, + LAST_CHECKPOINT_LINK, + OPTIMIZER_PARAM_GROUPS, + OPTIMIZER_STATE, + RNG_STATE, + SCHEDULER_STATE, + TRAINING_STATE_DIR, + TRAINING_STEP, +) +from lerobot.common.utils.train_utils import ( + get_step_checkpoint_dir, + get_step_identifier, + load_training_state, + load_training_step, + save_checkpoint, + save_training_state, + save_training_step, + update_last_checkpoint, +) + + +def test_get_step_identifier(): + assert get_step_identifier(5, 1000) == "000005" + assert get_step_identifier(123, 100_000) == "000123" + assert get_step_identifier(456789, 1_000_000) == "0456789" + + +def test_get_step_checkpoint_dir(): + output_dir = Path("/checkpoints") + step_dir = get_step_checkpoint_dir(output_dir, 1000, 5) + assert step_dir == output_dir / CHECKPOINTS_DIR / "000005" + + +def test_save_load_training_step(tmp_path): + save_training_step(5000, tmp_path) + assert (tmp_path / TRAINING_STEP).is_file() + + +def test_load_training_step(tmp_path): + step = 5000 + save_training_step(step, tmp_path) + loaded_step = load_training_step(tmp_path) + assert loaded_step == step + + +def test_update_last_checkpoint(tmp_path): + checkpoint = tmp_path / "0005" + checkpoint.mkdir() + update_last_checkpoint(checkpoint) + last_checkpoint = tmp_path / LAST_CHECKPOINT_LINK + assert last_checkpoint.is_symlink() + assert last_checkpoint.resolve() == checkpoint + + +@patch("lerobot.common.utils.train_utils.save_training_state") +def test_save_checkpoint(mock_save_training_state, tmp_path, optimizer): + policy = Mock() + cfg = Mock() + save_checkpoint(tmp_path, 10, cfg, policy, optimizer) + policy.save_pretrained.assert_called_once() + cfg.save_pretrained.assert_called_once() + mock_save_training_state.assert_called_once() + + +def test_save_training_state(tmp_path, optimizer, scheduler): + save_training_state(tmp_path, 10, optimizer, scheduler) + assert (tmp_path / TRAINING_STATE_DIR).is_dir() + assert (tmp_path / TRAINING_STATE_DIR / TRAINING_STEP).is_file() + assert (tmp_path / TRAINING_STATE_DIR / RNG_STATE).is_file() + assert (tmp_path / TRAINING_STATE_DIR / OPTIMIZER_STATE).is_file() + assert (tmp_path / TRAINING_STATE_DIR / OPTIMIZER_PARAM_GROUPS).is_file() + assert (tmp_path / TRAINING_STATE_DIR / SCHEDULER_STATE).is_file() + + +def test_save_load_training_state(tmp_path, optimizer, scheduler): + save_training_state(tmp_path, 10, optimizer, scheduler) + loaded_step, loaded_optimizer, loaded_scheduler = load_training_state(tmp_path, optimizer, scheduler) + assert loaded_step == 10 + assert loaded_optimizer is optimizer + assert loaded_scheduler is scheduler diff --git a/tests/test_utils.py b/tests/test_utils.py index 071e17b8..b2f14694 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,8 +1,3 @@ -import random -from typing import Callable - -import numpy as np -import pytest import torch from datasets import Dataset @@ -10,50 +5,6 @@ from lerobot.common.datasets.push_dataset_to_hub.utils import calculate_episode_ from lerobot.common.datasets.utils import ( hf_transform_to_torch, ) -from lerobot.common.utils.utils import ( - get_global_random_state, - seeded_context, - set_global_random_state, - set_global_seed, -) - -# Random generation functions for testing the seeding and random state get/set. -rand_fns = [ - random.random, - np.random.random, - lambda: torch.rand(1).item(), -] -if torch.cuda.is_available(): - rand_fns.append(lambda: torch.rand(1, device="cuda")) - - -@pytest.mark.parametrize("rand_fn", rand_fns) -def test_seeding(rand_fn: Callable[[], int]): - set_global_seed(0) - a = rand_fn() - with seeded_context(1337): - c = rand_fn() - b = rand_fn() - set_global_seed(0) - a_ = rand_fn() - b_ = rand_fn() - # Check that `set_global_seed` lets us reproduce a and b. - assert a_ == a - # Additionally, check that the `seeded_context` didn't interrupt the global RNG. - assert b_ == b - set_global_seed(1337) - c_ = rand_fn() - # Check that `seeded_context` and `global_seed` give the same reproducibility. - assert c_ == c - - -def test_get_set_random_state(): - """Check that getting the random state, then setting it results in the same random number generation.""" - random_state_dict = get_global_random_state() - rand_numbers = [rand_fn() for rand_fn in rand_fns] - set_global_random_state(random_state_dict) - rand_numbers_ = [rand_fn() for rand_fn in rand_fns] - assert rand_numbers_ == rand_numbers def test_calculate_episode_data_index():