From 1a1308d62f1f562680e5dfd7830cf67016897381 Mon Sep 17 00:00:00 2001 From: Alexander Soare Date: Fri, 22 Mar 2024 13:25:23 +0000 Subject: [PATCH] fix environment seeding add fixes for reproducibility only try to start env if it is closed revision fix normalization and data type Improve README Improve README Tests are passing, Eval pretrained model works, Add gif Update gif Update gif Update gif Update gif Update README Update README update minor Update README.md Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com> Update README.md Co-authored-by: Simon Alibert <75076266+aliberts@users.noreply.github.com> Address suggestions Update thumbnail + stats Update thumbnail + stats Update README.md Co-authored-by: Alexander Soare Add more comments Add test_examples.py --- README.md | 495 ++++++++++++-------- examples/1_visualize_dataset.py | 22 + examples/2_evaluate_pretrained_policy.py | 1 + examples/3_train_policy.py | 1 + lerobot/__init__.py | 58 +++ lerobot/common/datasets/abstract.py | 46 +- lerobot/common/datasets/aloha.py | 18 +- lerobot/common/datasets/factory.py | 75 +-- lerobot/common/datasets/pusht.py | 16 +- lerobot/common/datasets/simxarm.py | 14 +- lerobot/common/envs/abstract.py | 22 + lerobot/common/envs/aloha/env.py | 2 + lerobot/common/envs/pusht/env.py | 2 + lerobot/common/envs/simxarm/env.py | 3 + lerobot/common/policies/abstract.py | 12 + lerobot/common/policies/act/policy.py | 2 + lerobot/common/policies/diffusion/policy.py | 2 + lerobot/common/policies/factory.py | 4 +- lerobot/common/policies/tdmpc/policy.py | 4 +- lerobot/common/{envs => }/transforms.py | 0 lerobot/configs/default.yaml | 2 + lerobot/configs/env/aloha.yaml | 4 +- lerobot/configs/env/pusht.yaml | 2 + lerobot/configs/env/simxarm.yaml | 2 + lerobot/scripts/eval.py | 6 +- lerobot/scripts/visualize_dataset.py | 59 ++- media/lerobot-logo-light.png | Bin 0 -> 204038 bytes media/lerobot-logo-thumbnail.png | Bin 0 -> 164066 bytes tests/test_available.py | 64 +++ tests/test_envs.py | 1 - tests/test_examples.py | 18 + tests/test_policies.py | 11 +- 32 files changed, 686 insertions(+), 282 deletions(-) create mode 100644 examples/1_visualize_dataset.py create mode 100644 examples/2_evaluate_pretrained_policy.py create mode 100644 examples/3_train_policy.py rename lerobot/common/{envs => }/transforms.py (100%) create mode 100644 media/lerobot-logo-light.png create mode 100644 media/lerobot-logo-thumbnail.png create mode 100644 tests/test_available.py create mode 100644 tests/test_examples.py diff --git a/README.md b/README.md index 9bc8e56e..35911869 100644 --- a/README.md +++ b/README.md @@ -1,83 +1,356 @@ -# Le Robot +

+ + + + LeRobot, Hugging Face Robotics Library + +
+
+

-#### State-of-the-art machine learning for real-world robotics +# LeRobot -Le Robot aims to provide models, datasets, and tools for real-world robotics in PyTorch. The goal is to lower the barrier for entry to robotics so that everyone can contribute and benefit from sharing datasets and pretrained models. +**State-of-the-art machine learning for real-world robotics** -Le Robot contains state-of-the-art approaches that have been shown to transfer to the real-world with a focus on imitation learning and reinforcement learning. +🤗 LeRobot aims to provide models, datasets, and tools for real-world robotics in PyTorch. The goal is to lower the barrier for entry to robotics so that everyone can contribute and benefit from sharing datasets and pretrained models. -Le Robot already provides a set of pretrained models, datasets with human collected demonstrations, and simulated environments so that everyone can get started. In the coming weeks, the plan is to add more and more supports for real-world robotics on the most affordable and capable robots out there. +🤗 LeRobot contains state-of-the-art approaches that have been shown to transfer to the real-world with a focus on imitation learning and reinforcement learning. -Le Robot is built upon [TorchRL](https://github.com/pytorch/rl) which provides abstractions and utilities for Reinforcement Learning. +🤗 LeRobot already provides a set of pretrained models, datasets with human collected demonstrations, and simulated environments so that everyone can get started. In the coming weeks, the plan is to add more and more support for real-world robotics on the most affordable and capable robots out there. -## Acknowledgment +🤗 LeRobot hosts pretrained models and datasets on this HuggingFace community page: [huggingface.co/lerobot](https://huggingface.co/lerobot) -- Our ACT policy and ALOHA environment are adapted from [ALOHA](https://tonyzhaozh.github.io/aloha/) -- Our Diffusion policy and Pusht environment are adapted from [Diffusion Policy](https://diffusion-policy.cs.columbia.edu/) -- Our TDMPC policy and Simxarm environment are adapted from [FOWM](https://www.yunhaifeng.com/FOWM/) +#### Examples of pretrained models and environments + + + + + + + + + + + +
ACT policy on ALOHA envTDMPC policy on SimXArm envDiffusion policy on PushT env
ACT policy on ALOHA envTDMPC policy on SimXArm envDiffusion policy on PushT env
+ +### Acknowledgment + +- ACT policy and ALOHA environment are adapted from [ALOHA](https://tonyzhaozh.github.io/aloha/) +- Diffusion policy and Pusht environment are adapted from [Diffusion Policy](https://diffusion-policy.cs.columbia.edu/) +- TDMPC policy and Simxarm environment are adapted from [FOWM](https://www.yunhaifeng.com/FOWM/) +- Abstractions and utilities for Reinforcement Learning come from [TorchRL](https://github.com/pytorch/rl) ## Installation Create a virtual environment with Python 3.10, e.g. using `conda`: -``` +```bash conda create -y -n lerobot python=3.10 conda activate lerobot ``` [Install `poetry`](https://python-poetry.org/docs/#installation) (if you don't have it already) -``` +```bash curl -sSL https://install.python-poetry.org | python - ``` Install dependencies -``` +```bash poetry install ``` If you encounter a disk space error, try to change your tmp dir to a location where you have enough disk space, e.g. -``` +```bash mkdir ~/tmp export TMPDIR='~/tmp' ``` To use [Weights and Biases](https://docs.wandb.ai/quickstart) for experiments tracking, log in with -``` +```bash wandb login ``` -## Usage - -### Train +## Walkthrough ``` -python lerobot/scripts/train.py \ -hydra.job.name=pusht \ -env=pusht -``` - -### Visualize offline buffer +. +├── lerobot +| ├── configs # contains hydra yaml files with all options that you can override in the command line +| | ├── default.yaml # selected by default, it loads pusht environment and diffusion policy +| | ├── env # various sim environments and their datasets: aloha.yaml, pusht.yaml, simxarm.yaml +| | └── policy # various policies: act.yaml, diffusion.yaml, tdmpc.yaml +| ├── common # contains classes and utilities +| | ├── datasets # various datasets of human demonstrations: aloha, pusht, simxarm +| | ├── envs # various sim environments: aloha, pusht, simxarm +| | └── policies # various policies: act, diffusion, tdmpc +| └── scripts # contains functions to execute via command line +| ├── visualize_dataset.py # load a dataset and render its demonstrations +| ├── eval.py # load policy and evaluate it on an environment +| └── train.py # train a policy via imitation learning and/or reinforcement learning +├── outputs # contains results of scripts execution: logs, videos, model checkpoints +├── .github +| └── workflows +| └── test.yml # defines install settings for continuous integration and specifies end-to-end tests +└── tests # contains pytest utilities for continuous integration ``` + +### Visualize datasets + +You can import our dataset class, download the data from the HuggingFace hub and use our rendering utilities: +```python +""" Copy pasted from `examples/1_visualize_dataset.py` """ +import lerobot +from lerobot.common.datasets.aloha import AlohaDataset +from torchrl.data.replay_buffers import SamplerWithoutReplacement +from lerobot.scripts.visualize_dataset import render_dataset + +print(lerobot.available_datasets) +# >>> ['aloha_sim_insertion_human', 'aloha_sim_insertion_scripted', 'aloha_sim_transfer_cube_human', 'aloha_sim_transfer_cube_scripted', 'pusht', 'xarm_lift_medium'] + +# we use this sampler to sample 1 frame after the other +sampler = SamplerWithoutReplacement(shuffle=False) + +dataset = AlohaDataset("aloha_sim_transfer_cube_human", sampler=sampler) + +video_paths = render_dataset( + dataset, + out_dir="outputs/visualize_dataset/example", + max_num_samples=300, + fps=50, +) +print(video_paths) +# >>> ['outputs/visualize_dataset/example/episode_0.mp4'] +``` + +Or you can achieve the same result by executing our script from the command line: +```bash python lerobot/scripts/visualize_dataset.py \ -hydra.run.dir=tmp/$(date +"%Y_%m_%d") \ -env=pusht +env=aloha \ +task=sim_sim_transfer_cube_human \ +hydra.run.dir=outputs/visualize_dataset/example +# >>> ['outputs/visualize_dataset/example/episode_0.mp4'] ``` -### Eval +### Evaluate a pretrained policy -Run `python lerobot/scripts/eval.py --help` for instructions. +You can import our environment class, download pretrained policies from the HuggingFace hub, and use our rollout utilities with rendering: +```python +""" Copy pasted from `examples/2_evaluate_pretrained_policy.py` +# TODO +``` -## TODO +Or you can achieve the same result by executing our script from the command line: +```bash +python lerobot/scripts/eval.py \ +--hub-id lerobot/diffusion_policy_pusht_image \ +--revision v1.0 \ +eval_episodes=10 \ +hydra.run.dir=outputs/eval/example_hub +``` -If you are not sure how to contribute or want to know the next features we working on, look on this project page: [LeRobot TODO](https://github.com/users/Cadene/projects/1) +After launching training of your own policy, you can also re-evaluate the checkpoints with: +```bash +python lerobot/scripts/eval.py \ +--config PATH/TO/FOLDER/config.yaml \ +policy.pretrained_model_path=PATH/TO/FOLDER/weights.pth \ +eval_episodes=10 \ +hydra.run.dir=outputs/eval/example_dir +``` -Ask [Remi Cadene](re.cadene@gmail.com) for access if needed. +See `python lerobot/scripts/eval.py --help` for more instructions. + +### Train your own policy + +You can import our dataset, environment, policy classes, and use our training utilities (if some data is missing, it will be automatically downloaded from HuggingFace hub): +```python +""" Copy pasted from `examples/3_train_policy.py` +# TODO +``` + +Or you can achieve the same result by executing our script from the command line: +```bash +python lerobot/scripts/train.py \ +hydra.run.dir=outputs/train/example +``` + +You can easily train any policy on any environment: +```bash +python lerobot/scripts/train.py \ +env=aloha \ +task=sim_insertion \ +dataset_id=aloha_sim_insertion_scripted \ +policy=act \ +hydra.run.dir=outputs/train/aloha_act +``` + +## Contribute + +Feel free to open issues and PRs, and to coordinate your efforts with the community on our [Discord Channel](https://discord.gg/VjFz58wn3R). For specific inquiries, reach out to [Remi Cadene](remi.cadene@huggingface.co). + +**TODO** + +If you are not sure how to contribute or want to know the next features we working on, look on this project page: [LeRobot TODO](https://github.com/orgs/huggingface/projects/46) + +**Follow our style** + +```bash +# install if needed +pre-commit install +# apply style and linter checks before git commit +pre-commit +``` + +**Add dependencies** + +Instead of `pip install some-package`, we use `poetry` to track the versions of our dependencies: +```bash +poetry add some-package +``` + +**NOTE:** Currently, to ensure the CI works properly, any new package must also be added in the CPU-only environment dedicated CI. To do this, you should create a separate environment and add the new package there as well. For example: +```bash +# add the new package to your main poetry env +poetry add some-package +# add the same package to the CPU-only env dedicated to CI +conda create -y -n lerobot-ci python=3.10 +conda activate lerobot-ci +cd .github/poetry/cpu +poetry add some-package +``` + +**Run tests locally** + +Install [git lfs](https://git-lfs.com/) to retrieve test artifacts (if you don't have it already). + +On Mac: +```bash +brew install git-lfs +git lfs install +``` + +On Ubuntu: +```bash +sudo apt-get install git-lfs +git lfs install +``` + +Pull artifacts if they're not in [tests/data](tests/data) +```bash +git lfs pull +``` + +When adding a new dataset, mock it with +```bash +python tests/scripts/mock_dataset.py --in-data-dir data/$DATASET --out-data-dir tests/data/$DATASET +``` + +Run tests +```bash +DATA_DIR="tests/data" pytest -sx tests +``` + +**Add a new dataset** + +To add a dataset to the hub, first login and use a token generated from [huggingface settings](https://huggingface.co/settings/tokens) with write access: +```bash +huggingface-cli login --token ${HUGGINGFACE_TOKEN} --add-to-git-credential +``` + +Then you can upload it to the hub with: +```bash +HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli upload $HF_USER/$DATASET data/$DATASET \ +--repo-type dataset \ +--revision v1.0 +``` + +You will need to set the corresponding version as a default argument in your dataset class: +```python + version: str | None = "v1.0", +``` +See: [`lerobot/common/datasets/pusht.py`](https://github.com/Cadene/lerobot/blob/main/lerobot/common/datasets/pusht.py) + +For instance, for [lerobot/pusht](https://huggingface.co/datasets/lerobot/pusht), we used: +```bash +HF_USER=lerobot +DATASET=pusht +``` + +If you want to improve an existing dataset, you can download it locally with: +```bash +mkdir -p data/$DATASET +HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download ${HF_USER}/$DATASET \ +--repo-type dataset \ +--local-dir data/$DATASET \ +--local-dir-use-symlinks=False \ +--revision v1.0 +``` + +Iterate on your code and dataset with: +```bash +DATA_DIR=data python train.py +``` + +Upload a new version (v2.0 or v1.1 if the changes are respectively more or less significant): +```bash +HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli upload $HF_USER/$DATASET data/$DATASET \ +--repo-type dataset \ +--revision v1.1 \ +--delete "*" +``` + +Then you will need to set the corresponding version as a default argument in your dataset class: +```python + version: str | None = "v1.1", +``` +See: [`lerobot/common/datasets/pusht.py`](https://github.com/Cadene/lerobot/blob/main/lerobot/common/datasets/pusht.py) -## Profile +Finally, you might want to mock the dataset if you need to update the unit tests as well: +```bash +python tests/scripts/mock_dataset.py --in-data-dir data/$DATASET --out-data-dir tests/data/$DATASET +``` -**Example** +**Add a pretrained policy** + +Once you have trained a policy you may upload it to the HuggingFace hub. + +Firstly, make sure you have a model repository set up on the hub. The hub ID looks like HF_USER/REPO_NAME. + +Secondly, assuming you have trained a policy, you need: + +- `config.yaml` which you can get from the `.hydra` directory of your training output folder. +- `model.pt` which should be one of the saved models in the `models` directory of your training output folder (they won't be named `model.pt` but you will need to choose one). +- `stats.pth` which should point to the same file in the dataset directory (found in `data/{dataset_name}`). + +To upload these to the hub, prepare a folder with the following structure (you can use symlinks rather than copying): + +``` +to_upload + ├── config.yaml + ├── model.pt + └── stats.pth +``` + +With the folder prepared, run the following with a desired revision ID. + +```bash +huggingface-cli upload $HUB_ID to_upload --revision $REVISION_ID +``` + +If you want this to be the default revision also run the following (don't worry, it won't upload the files again; it will just adjust the file pointers): + +```bash +huggingface-cli upload $HUB_ID to_upload +``` + +See `eval.py` for an example of how a user may use your policy. + + +**Improve your code with profiling** + +An example of a code snippet to profile the evaluation of a policy: ```python from torch.profiler import profile, record_function, ProfilerActivity @@ -96,160 +369,12 @@ with profile( with record_function("eval_policy"): for i in range(num_episodes): prof.step() + # insert code to profile, potentially whole body of eval_policy function ``` ```bash python lerobot/scripts/eval.py \ - --config /home/rcadene/code/fowm/logs/xarm_lift/all/default/2/.hydra/config.yaml \ - pretrained_model_path=/home/rcadene/code/fowm/logs/xarm_lift/all/default/2/models/final.pt \ - eval_episodes=7 +--config outputs/pusht/.hydra/config.yaml \ +pretrained_model_path=outputs/pusht/model.pt \ +eval_episodes=7 ``` - -## Contribute - -**Style** -``` -# install if needed -pre-commit install -# apply style and linter checks before git commit -pre-commit run -a -``` - -**Adding dependencies (temporary)** - -Right now, for the CI to work, whenever a new dependency is added it needs to be also added to the cpu env, eg: - -``` -# Run in this directory, adds the package to the main env with cuda -poetry add some-package - -# Adds the same package to the cpu env -cd .github/poetry/cpu && poetry add some-package -``` - -**Tests** - -Install [git lfs](https://git-lfs.com/) to retrieve test artifacts (if you don't have it already). - -On Mac: -``` -brew install git-lfs -git lfs install -``` - -On Ubuntu: -``` -sudo apt-get install git-lfs -git lfs install -``` - -Pull artifacts if they're not in [tests/data](tests/data) -``` -git lfs pull -``` - -When adding a new dataset, mock it with -``` -python tests/scripts/mock_dataset.py --in-data-dir data/$DATASET --out-data-dir tests/data/$DATASET -``` - -Run tests -``` -DATA_DIR="tests/data" pytest -sx tests -``` - -**Datasets** - -To add a dataset to the hub, first login and use a token generated from [huggingface settings](https://huggingface.co/settings/tokens) with write access: -``` -huggingface-cli login --token ${HUGGINGFACE_TOKEN} --add-to-git-credential -``` - -Then you can upload it to the hub with: -``` -HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli upload $HF_USER/$DATASET data/$DATASET \ ---repo-type dataset \ ---revision v1.0 -``` - -You will need to set the corresponding version as a default argument in your dataset class: -```python - version: str | None = "v1.0", -``` -See: [`lerobot/common/datasets/pusht.py`](https://github.com/Cadene/lerobot/blob/main/lerobot/common/datasets/pusht.py) - -For instance, for [cadene/pusht](https://huggingface.co/datasets/cadene/pusht), we used: -``` -HF_USER=cadene -DATASET=pusht -``` - -If you want to improve an existing dataset, you can download it locally with: -``` -mkdir -p data/$DATASET -HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download ${HF_USER}/$DATASET \ ---repo-type dataset \ ---local-dir data/$DATASET \ ---local-dir-use-symlinks=False \ ---revision v1.0 -``` - -Iterate on your code and dataset with: -``` -DATA_DIR=data python train.py -``` - -Upload a new version (v2.0 or v1.1 if the changes are respectively more or less significant): -``` -HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli upload $HF_USER/$DATASET data/$DATASET \ ---repo-type dataset \ ---revision v1.1 \ ---delete "*" -``` - -Then you will need to set the corresponding version as a default argument in your dataset class: -```python - version: str | None = "v1.1", -``` -See: [`lerobot/common/datasets/pusht.py`](https://github.com/Cadene/lerobot/blob/main/lerobot/common/datasets/pusht.py) - - -Finally, you might want to mock the dataset if you need to update the unit tests as well: -``` -python tests/scripts/mock_dataset.py --in-data-dir data/$DATASET --out-data-dir tests/data/$DATASET -``` - -**Models** - -Once you have trained a model you may upload it to the HuggingFace hub. - -Firstly, make sure you have a model repository set up on the hub. The hub ID looks like HF_USER/REPO_NAME. - -Secondly, assuming you have trained a model, you need: - -- `config.yaml` which you can get from the `.hydra` directory of your training output folder. -- `model.pt` which should be one of the saved models in the `models` directory of your training output folder (they won't be named `model.pt` but you will need to choose one). -- `staths.pth` which should point to the same file in the dataset directory (found in `data/{dataset_name}`). - -To upload these to the hub, prepare a folder with the following structure (you can use symlinks rather than copying): - -``` -to_upload - ├── config.yaml - ├── model.pt - └── stats.pth -``` - -With the folder prepared, run the following with a desired revision ID. - -``` -huggingface-cli upload $HUB_ID to_upload --revision $REVISION_ID -``` - -If you want this to be the default revision also run the following (don't worry, it won't upload the files again; it will just adjust the file pointers): - -``` -huggingface-cli upload $HUB_ID to_upload -``` - -See `eval.py` for an example of how a user may use your model. diff --git a/examples/1_visualize_dataset.py b/examples/1_visualize_dataset.py new file mode 100644 index 00000000..ac627575 --- /dev/null +++ b/examples/1_visualize_dataset.py @@ -0,0 +1,22 @@ +from torchrl.data.replay_buffers import SamplerWithoutReplacement + +import lerobot +from lerobot.common.datasets.aloha import AlohaDataset +from lerobot.scripts.visualize_dataset import render_dataset + +print(lerobot.available_datasets) +# >>> ['aloha_sim_insertion_human', 'aloha_sim_insertion_scripted', 'aloha_sim_transfer_cube_human', 'aloha_sim_transfer_cube_scripted', 'pusht', 'xarm_lift_medium'] + +# we use this sampler to sample 1 frame after the other +sampler = SamplerWithoutReplacement(shuffle=False) + +dataset = AlohaDataset("aloha_sim_transfer_cube_human", sampler=sampler) + +video_paths = render_dataset( + dataset, + out_dir="outputs/visualize_dataset/example", + max_num_samples=300, + fps=50, +) +print(video_paths) +# ['outputs/visualize_dataset/example/episode_0.mp4'] diff --git a/examples/2_evaluate_pretrained_policy.py b/examples/2_evaluate_pretrained_policy.py new file mode 100644 index 00000000..46409041 --- /dev/null +++ b/examples/2_evaluate_pretrained_policy.py @@ -0,0 +1 @@ +# TODO diff --git a/examples/3_train_policy.py b/examples/3_train_policy.py new file mode 100644 index 00000000..46409041 --- /dev/null +++ b/examples/3_train_policy.py @@ -0,0 +1 @@ +# TODO diff --git a/lerobot/__init__.py b/lerobot/__init__.py index 6f99573d..5cf8bdb8 100644 --- a/lerobot/__init__.py +++ b/lerobot/__init__.py @@ -1 +1,59 @@ +""" +This file contains lists of available environments, dataset and policies to reflect the current state of LeRobot library. +We do not want to import all the dependencies, but instead we keep it lightweight to ensure fast access to these variables. + +Example: + ```python + import lerobot + print(lerobot.available_envs) + print(lerobot.available_tasks_per_env) + print(lerobot.available_datasets_per_env) + print(lerobot.available_datasets) + print(lerobot.available_policies) + ``` + +Note: + When implementing a concrete class (e.g. `AlohaDataset`, `PushtEnv`, `DiffusionPolicy`), you need to: + 1. set the required class attributes: + - for classes inheriting from `AbstractDataset`: `available_datasets` + - for classes inheriting from `AbstractEnv`: `name`, `available_tasks` + - for classes inheriting from `AbstractPolicy`: `name` + 2. update variables in `lerobot/__init__.py` (e.g. `available_envs`, `available_datasets_per_envs`, `available_policies`) + 3. update variables in `tests/test_available.py` by importing your new class +""" + from lerobot.__version__ import __version__ # noqa: F401 + +available_envs = [ + "aloha", + "pusht", + "simxarm", +] + +available_tasks_per_env = { + "aloha": [ + "sim_insertion", + "sim_transfer_cube", + ], + "pusht": ["pusht"], + "simxarm": ["lift"], +} + +available_datasets_per_env = { + "aloha": [ + "aloha_sim_insertion_human", + "aloha_sim_insertion_scripted", + "aloha_sim_transfer_cube_human", + "aloha_sim_transfer_cube_scripted", + ], + "pusht": ["pusht"], + "simxarm": ["xarm_lift_medium"], +} + +available_datasets = [dataset for env in available_envs for dataset in available_datasets_per_env[env]] + +available_policies = [ + "act", + "diffusion", + "tdmpc", +] diff --git a/lerobot/common/datasets/abstract.py b/lerobot/common/datasets/abstract.py index 8295ed48..d3015f3b 100644 --- a/lerobot/common/datasets/abstract.py +++ b/lerobot/common/datasets/abstract.py @@ -9,7 +9,7 @@ import tqdm from huggingface_hub import snapshot_download from tensordict import TensorDict from torchrl.data.replay_buffers.replay_buffers import TensorDictReplayBuffer -from torchrl.data.replay_buffers.samplers import SliceSampler +from torchrl.data.replay_buffers.samplers import Sampler from torchrl.data.replay_buffers.storages import TensorStorage, _collate_id from torchrl.data.replay_buffers.writers import ImmutableDatasetWriter, Writer from torchrl.envs.transforms.transforms import Compose @@ -17,22 +17,56 @@ from torchrl.envs.transforms.transforms import Compose HF_USER = "lerobot" -class AbstractExperienceReplay(TensorDictReplayBuffer): +class AbstractDataset(TensorDictReplayBuffer): + """ + AbstractDataset represents a dataset in the context of imitation learning or reinforcement learning. + This class is designed to be subclassed by concrete implementations that specify particular types of datasets. + These implementations can vary based on the source of the data, the environment the data pertains to, + or the specific kind of data manipulation applied. + + Note: + - `TensorDictReplayBuffer` is the base class from which `AbstractDataset` inherits. It provides the foundational + functionality for storing and retrieving `TensorDict`-like data. + - `available_datasets` should be overridden by concrete subclasses to list the specific dataset variants supported. + It is expected that these variants correspond to a HuggingFace dataset on the hub. + For instance, the `AlohaDataset` which inherites from `AbstractDataset` has 4 available dataset variants: + - [aloha_sim_transfer_cube_scripted](https://huggingface.co/datasets/lerobot/aloha_sim_transfer_cube_scripted) + - [aloha_sim_insertion_scripted](https://huggingface.co/datasets/lerobot/aloha_sim_insertion_scripted) + - [aloha_sim_transfer_cube_human](https://huggingface.co/datasets/lerobot/aloha_sim_transfer_cube_human) + - [aloha_sim_insertion_human](https://huggingface.co/datasets/lerobot/aloha_sim_insertion_human) + - When implementing a concrete class (e.g. `AlohaDataset`, `PushtEnv`, `DiffusionPolicy`), you need to: + 1. set the required class attributes: + - for classes inheriting from `AbstractDataset`: `available_datasets` + - for classes inheriting from `AbstractEnv`: `name`, `available_tasks` + - for classes inheriting from `AbstractPolicy`: `name` + 2. update variables in `lerobot/__init__.py` (e.g. `available_envs`, `available_datasets_per_envs`, `available_policies`) + 3. update variables in `tests/test_available.py` by importing your new class + """ + + available_datasets: list[str] | None = None + def __init__( self, dataset_id: str, version: str | None = None, - batch_size: int = None, + batch_size: int | None = None, *, shuffle: bool = True, root: Path | None = None, pin_memory: bool = False, prefetch: int = None, - sampler: SliceSampler = None, - collate_fn: Callable = None, - writer: Writer = None, + sampler: Sampler | None = None, + collate_fn: Callable | None = None, + writer: Writer | None = None, transform: "torchrl.envs.Transform" = None, ): + assert ( + self.available_datasets is not None + ), "Subclasses of `AbstractDataset` should set the `available_datasets` class attribute." + assert ( + dataset_id in self.available_datasets + ), f"The provided dataset ({dataset_id}) is not on the list of available datasets {self.available_datasets}." + self.dataset_id = dataset_id self.version = version self.shuffle = shuffle diff --git a/lerobot/common/datasets/aloha.py b/lerobot/common/datasets/aloha.py index 7c0c9d44..031c2cd3 100644 --- a/lerobot/common/datasets/aloha.py +++ b/lerobot/common/datasets/aloha.py @@ -9,11 +9,11 @@ import torch import torchrl import tqdm from tensordict import TensorDict -from torchrl.data.replay_buffers.samplers import SliceSampler +from torchrl.data.replay_buffers.samplers import Sampler from torchrl.data.replay_buffers.storages import TensorStorage from torchrl.data.replay_buffers.writers import Writer -from lerobot.common.datasets.abstract import AbstractExperienceReplay +from lerobot.common.datasets.abstract import AbstractDataset DATASET_IDS = [ "aloha_sim_insertion_human", @@ -80,24 +80,24 @@ def download(data_dir, dataset_id): gdown.download(EP49_URLS[dataset_id], output=str(data_dir / "episode_49.hdf5"), fuzzy=True) -class AlohaExperienceReplay(AbstractExperienceReplay): +class AlohaDataset(AbstractDataset): + available_datasets = DATASET_IDS + def __init__( self, dataset_id: str, version: str | None = "v1.2", - batch_size: int = None, + batch_size: int | None = None, *, shuffle: bool = True, root: Path | None = None, pin_memory: bool = False, prefetch: int = None, - sampler: SliceSampler = None, - collate_fn: Callable = None, - writer: Writer = None, + sampler: Sampler | None = None, + collate_fn: Callable | None = None, + writer: Writer | None = None, transform: "torchrl.envs.Transform" = None, ): - assert dataset_id in DATASET_IDS - super().__init__( dataset_id, version, diff --git a/lerobot/common/datasets/factory.py b/lerobot/common/datasets/factory.py index 40a49cc1..30fc5258 100644 --- a/lerobot/common/datasets/factory.py +++ b/lerobot/common/datasets/factory.py @@ -5,7 +5,7 @@ from pathlib import Path import torch from torchrl.data.replay_buffers import PrioritizedSliceSampler, SliceSampler -from lerobot.common.envs.transforms import NormalizeTransform, Prod +from lerobot.common.transforms import NormalizeTransform, Prod # DATA_DIR specifies to location where datasets are loaded. By default, DATA_DIR is None and # we load from `$HOME/.cache/huggingface/hub/datasets`. For our unit tests, we set `DATA_DIR=tests/data` @@ -16,6 +16,7 @@ DATA_DIR = Path(os.environ["DATA_DIR"]) if "DATA_DIR" in os.environ else None def make_offline_buffer( cfg, overwrite_sampler=None, + # set normalize=False to remove all transformations and keep images unnormalized in [0,255] normalize=True, overwrite_batch_size=None, overwrite_prefetch=None, @@ -64,25 +65,27 @@ def make_offline_buffer( sampler = overwrite_sampler if cfg.env.name == "simxarm": - from lerobot.common.datasets.simxarm import SimxarmExperienceReplay + from lerobot.common.datasets.simxarm import SimxarmDataset - clsfunc = SimxarmExperienceReplay - dataset_id = f"xarm_{cfg.env.task}_medium" + clsfunc = SimxarmDataset elif cfg.env.name == "pusht": - from lerobot.common.datasets.pusht import PushtExperienceReplay + from lerobot.common.datasets.pusht import PushtDataset - clsfunc = PushtExperienceReplay - dataset_id = "pusht" + clsfunc = PushtDataset elif cfg.env.name == "aloha": - from lerobot.common.datasets.aloha import AlohaExperienceReplay + from lerobot.common.datasets.aloha import AlohaDataset - clsfunc = AlohaExperienceReplay - dataset_id = f"aloha_{cfg.env.task}" + clsfunc = AlohaDataset else: raise ValueError(cfg.env.name) + # TODO(rcadene): backward compatiblity to load pretrained pusht policy + dataset_id = cfg.get("dataset_id") + if dataset_id is None and cfg.env.name == "pusht": + dataset_id = "pusht" + offline_buffer = clsfunc( dataset_id=dataset_id, sampler=sampler, @@ -100,36 +103,40 @@ def make_offline_buffer( else: img_keys = offline_buffer.image_keys - transforms = [Prod(in_keys=img_keys, prod=1 / 255)] + if normalize: + transforms = [Prod(in_keys=img_keys, prod=1 / 255)] - if normalize: - # TODO(rcadene): make normalization strategy configurable between mean_std, min_max, manual_min_max, - # min_max_from_spec - stats = offline_buffer.compute_or_load_stats() if stats_path is None else torch.load(stats_path) + # TODO(rcadene): make normalization strategy configurable between mean_std, min_max, manual_min_max, + # min_max_from_spec + stats = offline_buffer.compute_or_load_stats() if stats_path is None else torch.load(stats_path) - # we only normalize the state and action, since the images are usually normalized inside the model for - # now (except for tdmpc: see the following) - in_keys = [("observation", "state"), ("action")] + # we only normalize the state and action, since the images are usually normalized inside the model for + # now (except for tdmpc: see the following) + in_keys = [("observation", "state"), ("action")] - if cfg.policy.name == "tdmpc": - # TODO(rcadene): we add img_keys to the keys to normalize for tdmpc only, since diffusion and act policies normalize the image inside the model for now - in_keys += img_keys - # TODO(racdene): since we use next observations in tdmpc, we also add them to the normalization. We are wasting a bit of compute on this for now. - in_keys += [("next", *key) for key in img_keys] - in_keys.append(("next", "observation", "state")) + if cfg.policy.name == "tdmpc": + # TODO(rcadene): we add img_keys to the keys to normalize for tdmpc only, since diffusion and act policies normalize the image inside the model for now + in_keys += img_keys + # TODO(racdene): since we use next observations in tdmpc, we also add them to the normalization. We are wasting a bit of compute on this for now. + in_keys += [("next", *key) for key in img_keys] + in_keys.append(("next", "observation", "state")) - if cfg.policy.name == "diffusion" and cfg.env.name == "pusht": - # TODO(rcadene): we overwrite stats to have the same as pretrained model, but we should remove this - stats["observation", "state", "min"] = torch.tensor([13.456424, 32.938293], dtype=torch.float32) - stats["observation", "state", "max"] = torch.tensor([496.14618, 510.9579], dtype=torch.float32) - stats["action", "min"] = torch.tensor([12.0, 25.0], dtype=torch.float32) - stats["action", "max"] = torch.tensor([511.0, 511.0], dtype=torch.float32) + if cfg.policy.name == "diffusion" and cfg.env.name == "pusht": + # TODO(rcadene): we overwrite stats to have the same as pretrained model, but we should remove this + stats["observation", "state", "min"] = torch.tensor( + [13.456424, 32.938293], dtype=torch.float32 + ) + stats["observation", "state", "max"] = torch.tensor( + [496.14618, 510.9579], dtype=torch.float32 + ) + stats["action", "min"] = torch.tensor([12.0, 25.0], dtype=torch.float32) + stats["action", "max"] = torch.tensor([511.0, 511.0], dtype=torch.float32) - # TODO(rcadene): remove this and put it in config. Ideally we want to reproduce SOTA results just with mean_std - normalization_mode = "mean_std" if cfg.env.name == "aloha" else "min_max" - transforms.append(NormalizeTransform(stats, in_keys, mode=normalization_mode)) + # TODO(rcadene): remove this and put it in config. Ideally we want to reproduce SOTA results just with mean_std + normalization_mode = "mean_std" if cfg.env.name == "aloha" else "min_max" + transforms.append(NormalizeTransform(stats, in_keys, mode=normalization_mode)) - offline_buffer.set_transform(transforms) + offline_buffer.set_transform(transforms) if not overwrite_sampler: index = torch.arange(0, offline_buffer.num_samples, 1) diff --git a/lerobot/common/datasets/pusht.py b/lerobot/common/datasets/pusht.py index bcbb10b8..624fb140 100644 --- a/lerobot/common/datasets/pusht.py +++ b/lerobot/common/datasets/pusht.py @@ -9,11 +9,11 @@ import torch import torchrl import tqdm from tensordict import TensorDict -from torchrl.data.replay_buffers.samplers import SliceSampler +from torchrl.data.replay_buffers.samplers import Sampler from torchrl.data.replay_buffers.storages import TensorStorage from torchrl.data.replay_buffers.writers import Writer -from lerobot.common.datasets.abstract import AbstractExperienceReplay +from lerobot.common.datasets.abstract import AbstractDataset from lerobot.common.datasets.utils import download_and_extract_zip from lerobot.common.envs.pusht.pusht_env import pymunk_to_shapely from lerobot.common.policies.diffusion.replay_buffer import ReplayBuffer as DiffusionPolicyReplayBuffer @@ -83,20 +83,22 @@ def add_tee( return body -class PushtExperienceReplay(AbstractExperienceReplay): +class PushtDataset(AbstractDataset): + available_datasets = ["pusht"] + def __init__( self, dataset_id: str, version: str | None = "v1.2", - batch_size: int = None, + batch_size: int | None = None, *, shuffle: bool = True, root: Path | None = None, pin_memory: bool = False, prefetch: int = None, - sampler: SliceSampler = None, - collate_fn: Callable = None, - writer: Writer = None, + sampler: Sampler | None = None, + collate_fn: Callable | None = None, + writer: Writer | None = None, transform: "torchrl.envs.Transform" = None, ): super().__init__( diff --git a/lerobot/common/datasets/simxarm.py b/lerobot/common/datasets/simxarm.py index 74bec4c3..dc30e69e 100644 --- a/lerobot/common/datasets/simxarm.py +++ b/lerobot/common/datasets/simxarm.py @@ -8,12 +8,12 @@ import torchrl import tqdm from tensordict import TensorDict from torchrl.data.replay_buffers.samplers import ( - SliceSampler, + Sampler, ) from torchrl.data.replay_buffers.storages import TensorStorage from torchrl.data.replay_buffers.writers import Writer -from lerobot.common.datasets.abstract import AbstractExperienceReplay +from lerobot.common.datasets.abstract import AbstractDataset def download(): @@ -32,7 +32,7 @@ def download(): Path(download_path).unlink() -class SimxarmExperienceReplay(AbstractExperienceReplay): +class SimxarmDataset(AbstractDataset): available_datasets = [ "xarm_lift_medium", ] @@ -41,15 +41,15 @@ class SimxarmExperienceReplay(AbstractExperienceReplay): self, dataset_id: str, version: str | None = "v1.1", - batch_size: int = None, + batch_size: int | None = None, *, shuffle: bool = True, root: Path | None = None, pin_memory: bool = False, prefetch: int = None, - sampler: SliceSampler = None, - collate_fn: Callable = None, - writer: Writer = None, + sampler: Sampler | None = None, + collate_fn: Callable | None = None, + writer: Writer | None = None, transform: "torchrl.envs.Transform" = None, ): super().__init__( diff --git a/lerobot/common/envs/abstract.py b/lerobot/common/envs/abstract.py index bca0af3e..ea5ce3da 100644 --- a/lerobot/common/envs/abstract.py +++ b/lerobot/common/envs/abstract.py @@ -8,6 +8,20 @@ from lerobot.common.utils import set_global_seed class AbstractEnv(EnvBase): + """ + Note: + When implementing a concrete class (e.g. `AlohaDataset`, `PushtEnv`, `DiffusionPolicy`), you need to: + 1. set the required class attributes: + - for classes inheriting from `AbstractDataset`: `available_datasets` + - for classes inheriting from `AbstractEnv`: `name`, `available_tasks` + - for classes inheriting from `AbstractPolicy`: `name` + 2. update variables in `lerobot/__init__.py` (e.g. `available_envs`, `available_datasets_per_envs`, `available_policies`) + 3. update variables in `tests/test_available.py` by importing your new class + """ + + name: str | None = None # same name should be used to instantiate the environment in factory.py + available_tasks: list[str] | None = None # for instance: sim_insertion, sim_transfer_cube, pusht, lift + def __init__( self, task, @@ -21,6 +35,14 @@ class AbstractEnv(EnvBase): num_prev_action=0, ): super().__init__(device=device, batch_size=[]) + assert self.name is not None, "Subclasses of `AbstractEnv` should set the `name` class attribute." + assert ( + self.available_tasks is not None + ), "Subclasses of `AbstractEnv` should set the `available_tasks` class attribute." + assert ( + task in self.available_tasks + ), f"The provided task ({task}) is not on the list of available tasks {self.available_tasks}." + self.task = task self.frame_skip = frame_skip self.from_pixels = from_pixels diff --git a/lerobot/common/envs/aloha/env.py b/lerobot/common/envs/aloha/env.py index d38d7f01..357a96ec 100644 --- a/lerobot/common/envs/aloha/env.py +++ b/lerobot/common/envs/aloha/env.py @@ -35,6 +35,8 @@ _has_gym = importlib.util.find_spec("gymnasium") is not None class AlohaEnv(AbstractEnv): + name = "aloha" + available_tasks = ["sim_insertion", "sim_transfer_cube"] _reset_warning_issued = False def __init__( diff --git a/lerobot/common/envs/pusht/env.py b/lerobot/common/envs/pusht/env.py index ca39bf4d..5f7fb2c3 100644 --- a/lerobot/common/envs/pusht/env.py +++ b/lerobot/common/envs/pusht/env.py @@ -22,6 +22,8 @@ _has_gym = importlib.util.find_spec("gymnasium") is not None class PushtEnv(AbstractEnv): + name = "pusht" + available_tasks = ["pusht"] _reset_warning_issued = False def __init__( diff --git a/lerobot/common/envs/simxarm/env.py b/lerobot/common/envs/simxarm/env.py index f3c358d7..b81bf499 100644 --- a/lerobot/common/envs/simxarm/env.py +++ b/lerobot/common/envs/simxarm/env.py @@ -24,6 +24,9 @@ _has_gym = importlib.util.find_spec("gymnasium") is not None class SimxarmEnv(AbstractEnv): + name = "simxarm" + available_tasks = ["lift"] + def __init__( self, task, diff --git a/lerobot/common/policies/abstract.py b/lerobot/common/policies/abstract.py index e9c331a0..6dc72bef 100644 --- a/lerobot/common/policies/abstract.py +++ b/lerobot/common/policies/abstract.py @@ -9,8 +9,19 @@ class AbstractPolicy(nn.Module): The forward method should generally not be overriden as it plays the role of handling multi-step policies. See its documentation for more information. + + Note: + When implementing a concrete class (e.g. `AlohaDataset`, `PushtEnv`, `DiffusionPolicy`), you need to: + 1. set the required class attributes: + - for classes inheriting from `AbstractDataset`: `available_datasets` + - for classes inheriting from `AbstractEnv`: `name`, `available_tasks` + - for classes inheriting from `AbstractPolicy`: `name` + 2. update variables in `lerobot/__init__.py` (e.g. `available_envs`, `available_datasets_per_envs`, `available_policies`) + 3. update variables in `tests/test_available.py` by importing your new class """ + name: str | None = None # same name should be used to instantiate the policy in factory.py + def __init__(self, n_action_steps: int | None): """ n_action_steps: Sets the cache size for storing action trajectories. If None, it is assumed that a single @@ -18,6 +29,7 @@ class AbstractPolicy(nn.Module): adds that dimension. """ super().__init__() + assert self.name is not None, "Subclasses of `AbstractPolicy` should set the `name` class attribute." self.n_action_steps = n_action_steps self.clear_action_queue() diff --git a/lerobot/common/policies/act/policy.py b/lerobot/common/policies/act/policy.py index 0a0ee405..ae4f7320 100644 --- a/lerobot/common/policies/act/policy.py +++ b/lerobot/common/policies/act/policy.py @@ -42,6 +42,8 @@ def kl_divergence(mu, logvar): class ActionChunkingTransformerPolicy(AbstractPolicy): + name = "act" + def __init__(self, cfg, device, n_action_steps=1): super().__init__(n_action_steps) self.cfg = cfg diff --git a/lerobot/common/policies/diffusion/policy.py b/lerobot/common/policies/diffusion/policy.py index 65452b18..82f39b28 100644 --- a/lerobot/common/policies/diffusion/policy.py +++ b/lerobot/common/policies/diffusion/policy.py @@ -13,6 +13,8 @@ from lerobot.common.utils import get_safe_torch_device class DiffusionPolicy(AbstractPolicy): + name = "diffusion" + def __init__( self, cfg, diff --git a/lerobot/common/policies/factory.py b/lerobot/common/policies/factory.py index 085baab5..934f0962 100644 --- a/lerobot/common/policies/factory.py +++ b/lerobot/common/policies/factory.py @@ -3,9 +3,9 @@ def make_policy(cfg): raise NotImplementedError("Only diffusion policy supports rollout_batch_size > 1 for the time being.") if cfg.policy.name == "tdmpc": - from lerobot.common.policies.tdmpc.policy import TDMPC + from lerobot.common.policies.tdmpc.policy import TDMPCPolicy - policy = TDMPC(cfg.policy, cfg.device) + policy = TDMPCPolicy(cfg.policy, cfg.device) elif cfg.policy.name == "diffusion": from lerobot.common.policies.diffusion.policy import DiffusionPolicy diff --git a/lerobot/common/policies/tdmpc/policy.py b/lerobot/common/policies/tdmpc/policy.py index 5bb0da43..64dcc94d 100644 --- a/lerobot/common/policies/tdmpc/policy.py +++ b/lerobot/common/policies/tdmpc/policy.py @@ -87,9 +87,11 @@ class TOLD(nn.Module): return torch.min(Q1, Q2) if return_type == "min" else (Q1 + Q2) / 2 -class TDMPC(AbstractPolicy): +class TDMPCPolicy(AbstractPolicy): """Implementation of TD-MPC learning + inference.""" + name = "tdmpc" + def __init__(self, cfg, device): super().__init__(None) self.action_dim = cfg.action_dim diff --git a/lerobot/common/envs/transforms.py b/lerobot/common/transforms.py similarity index 100% rename from lerobot/common/envs/transforms.py rename to lerobot/common/transforms.py diff --git a/lerobot/configs/default.yaml b/lerobot/configs/default.yaml index 01a02a70..7b6c129d 100644 --- a/lerobot/configs/default.yaml +++ b/lerobot/configs/default.yaml @@ -26,6 +26,8 @@ fps: ??? offline_prioritized_sampler: true +dataset_id: ??? + n_action_steps: ??? n_obs_steps: ??? env: ??? diff --git a/lerobot/configs/env/aloha.yaml b/lerobot/configs/env/aloha.yaml index df464c75..51569fea 100644 --- a/lerobot/configs/env/aloha.yaml +++ b/lerobot/configs/env/aloha.yaml @@ -10,9 +10,11 @@ online_steps: 25000 fps: 50 +dataset_id: aloha_sim_insertion_human + env: name: aloha - task: sim_insertion_human + task: sim_insertion from_pixels: True pixels_only: False image_size: [3, 480, 640] diff --git a/lerobot/configs/env/pusht.yaml b/lerobot/configs/env/pusht.yaml index 6866f053..0050530e 100644 --- a/lerobot/configs/env/pusht.yaml +++ b/lerobot/configs/env/pusht.yaml @@ -10,6 +10,8 @@ online_steps: 25000 fps: 10 +dataset_id: pusht + env: name: pusht task: pusht diff --git a/lerobot/configs/env/simxarm.yaml b/lerobot/configs/env/simxarm.yaml index b235dff7..f79db8f7 100644 --- a/lerobot/configs/env/simxarm.yaml +++ b/lerobot/configs/env/simxarm.yaml @@ -9,6 +9,8 @@ online_steps: 25000 fps: 15 +dataset_id: xarm_lift_medium + env: name: simxarm task: lift diff --git a/lerobot/scripts/eval.py b/lerobot/scripts/eval.py index e30cd9dd..1de0bb0e 100644 --- a/lerobot/scripts/eval.py +++ b/lerobot/scripts/eval.py @@ -13,8 +13,10 @@ Examples: You have a specific config file to go with trained model weights, and want to run 10 episodes. ``` -python lerobot/scripts/eval.py --config PATH/TO/FOLDER/config.yaml \ - policy.pretrained_model_path=PATH/TO/FOLDER/weights.pth` eval_episodes=10 +python lerobot/scripts/eval.py \ +--config PATH/TO/FOLDER/config.yaml \ +policy.pretrained_model_path=PATH/TO/FOLDER/weights.pth \ +eval_episodes=10 ``` You have a HuggingFace Hub ID, you know which revision you want, and want to run 10 episodes (note that in this case, diff --git a/lerobot/scripts/visualize_dataset.py b/lerobot/scripts/visualize_dataset.py index 685084cd..7613b68d 100644 --- a/lerobot/scripts/visualize_dataset.py +++ b/lerobot/scripts/visualize_dataset.py @@ -25,7 +25,7 @@ def visualize_dataset_cli(cfg: dict): def cat_and_write_video(video_path, frames, fps): - # Expects images in [0, 1]. + # Expects images in [0, 255]. frames = torch.cat(frames) assert frames.max() <= 1 and frames.min() >= 0 frames = (255 * frames).to(dtype=torch.uint8) @@ -47,44 +47,63 @@ def visualize_dataset(cfg: dict, out_dir=None): logging.info("make_offline_buffer") offline_buffer = make_offline_buffer( - cfg, overwrite_sampler=sampler, normalize=False, overwrite_batch_size=1, overwrite_prefetch=12 + cfg, + overwrite_sampler=sampler, + # remove all transformations such as rescale images from [0,255] to [0,1] or normalization + normalize=False, + overwrite_batch_size=1, + overwrite_prefetch=12, ) logging.info("Start rendering episodes from offline buffer") + video_paths = render_dataset(offline_buffer, out_dir, MAX_NUM_STEPS * NUM_EPISODES_TO_RENDER, cfg.fps) + for video_path in video_paths: + logging.info(video_path) + +def render_dataset(offline_buffer, out_dir, max_num_samples, fps): + out_dir = Path(out_dir) + video_paths = [] threads = [] frames = {} current_ep_idx = 0 logging.info(f"Visualizing episode {current_ep_idx}") - for _ in range(MAX_NUM_STEPS * NUM_EPISODES_TO_RENDER): + for i in range(max_num_samples): # TODO(rcadene): make it work with bsize > 1 ep_td = offline_buffer.sample(1) ep_idx = ep_td["episode"][FIRST_FRAME].item() # TODO(rcadene): modify offline_buffer._sampler._sample_list or sampler to randomly sample an episode, but sequentially sample frames - no_more_frames = offline_buffer._sampler._sample_list.numel() == 0 - new_episode = ep_idx != current_ep_idx + num_frames_left = offline_buffer._sampler._sample_list.numel() + episode_is_done = ep_idx != current_ep_idx - if new_episode: - logging.info(f"Visualizing episode {current_ep_idx}") + if episode_is_done: + logging.info(f"Rendering episode {current_ep_idx}") for im_key in offline_buffer.image_keys: - if new_episode or no_more_frames: - # append last observed frames (the ones after last action taken) - frames[im_key].append(offline_buffer.transform(ep_td["next"])[im_key]) - - video_dir = Path(out_dir) / "visualize_dataset" - video_dir.mkdir(parents=True, exist_ok=True) + if not episode_is_done and num_frames_left > 0 and i < (max_num_samples - 1): + # when first frame of episode, initialize frames dict + if im_key not in frames: + frames[im_key] = [] + # add current frame to list of frames to render + frames[im_key].append(ep_td[im_key]) + else: + # When episode has no more frame in its list of observation, + # one frame still remains. It is the result of the last action taken. + # It is stored in `"next"`, so we add it to the list of frames to render. + frames[im_key].append(ep_td["next"][im_key]) + out_dir.mkdir(parents=True, exist_ok=True) if len(offline_buffer.image_keys) > 1: camera = im_key[-1] - video_path = video_dir / f"episode_{current_ep_idx}_{camera}.mp4" + video_path = out_dir / f"episode_{current_ep_idx}_{camera}.mp4" else: - video_path = video_dir / f"episode_{current_ep_idx}.mp4" + video_path = out_dir / f"episode_{current_ep_idx}.mp4" + video_paths.append(str(video_path)) thread = threading.Thread( target=cat_and_write_video, - args=(str(video_path), frames[im_key], cfg.fps), + args=(str(video_path), frames[im_key], fps), ) thread.start() threads.append(thread) @@ -94,12 +113,7 @@ def visualize_dataset(cfg: dict, out_dir=None): # reset list of frames del frames[im_key] - # append current cameras images to list of frames - if im_key not in frames: - frames[im_key] = [] - frames[im_key].append(ep_td[im_key]) - - if no_more_frames: + if num_frames_left == 0: logging.info("Ran out of frames") break @@ -110,6 +124,7 @@ def visualize_dataset(cfg: dict, out_dir=None): thread.join() logging.info("End of visualize_dataset") + return video_paths if __name__ == "__main__": diff --git a/media/lerobot-logo-light.png b/media/lerobot-logo-light.png new file mode 100644 index 0000000000000000000000000000000000000000..9a93b50dadcc484c9852879de821433b58c6da8a GIT binary patch literal 204038 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�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 literal 0 HcmV?d00001 diff --git a/media/lerobot-logo-thumbnail.png b/media/lerobot-logo-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..163631eabc01e7390bf270b9dd4e56a5e48476a2 GIT binary patch literal 164066 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�M@*I5|VWNXlQ2v=r4taWMp>8SA=!ao6vt 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 =8ZICQ7Z-w|h_&sI1o)VVZsV+um(;eB)I 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 G&Hn>g^eHL; literal 0 HcmV?d00001 diff --git a/tests/test_available.py b/tests/test_available.py new file mode 100644 index 00000000..83382633 --- /dev/null +++ b/tests/test_available.py @@ -0,0 +1,64 @@ +""" +This test verifies that all environments, datasets, policies listed in `lerobot/__init__.py` can be sucessfully +imported and that their class attributes (eg. `available_datasets`, `name`, `available_tasks`) corresponds. + +Note: + When implementing a concrete class (e.g. `AlohaDataset`, `PushtEnv`, `DiffusionPolicy`), you need to: + 1. set the required class attributes: + - for classes inheriting from `AbstractDataset`: `available_datasets` + - for classes inheriting from `AbstractEnv`: `name`, `available_tasks` + - for classes inheriting from `AbstractPolicy`: `name` + 2. update variables in `lerobot/__init__.py` (e.g. `available_envs`, `available_datasets_per_envs`, `available_policies`) + 3. update variables in `tests/test_available.py` by importing your new class +""" + +import pytest +import lerobot + +from lerobot.common.envs.aloha.env import AlohaEnv +from lerobot.common.envs.pusht.env import PushtEnv +from lerobot.common.envs.simxarm import SimxarmEnv + +from lerobot.common.datasets.simxarm import SimxarmDataset +from lerobot.common.datasets.aloha import AlohaDataset +from lerobot.common.datasets.pusht import PushtDataset + +from lerobot.common.policies.act.policy import ActionChunkingTransformerPolicy +from lerobot.common.policies.diffusion.policy import DiffusionPolicy +from lerobot.common.policies.tdmpc.policy import TDMPCPolicy + + +def test_available(): + pol_classes = [ + ActionChunkingTransformerPolicy, + DiffusionPolicy, + TDMPCPolicy, + ] + + env_classes = [ + AlohaEnv, + PushtEnv, + SimxarmEnv, + ] + + dat_classes = [ + AlohaDataset, + PushtDataset, + SimxarmDataset, + ] + + policies = [pol_cls.name for pol_cls in pol_classes] + assert set(policies) == set(lerobot.available_policies) + + envs = [env_cls.name for env_cls in env_classes] + assert set(envs) == set(lerobot.available_envs) + + tasks_per_env = {env_cls.name: env_cls.available_tasks for env_cls in env_classes} + for env in envs: + assert set(tasks_per_env[env]) == set(lerobot.available_tasks_per_env[env]) + + datasets_per_env = {env_cls.name: dat_cls.available_datasets for env_cls, dat_cls in zip(env_classes, dat_classes)} + for env in envs: + assert set(datasets_per_env[env]) == set(lerobot.available_datasets_per_env[env]) + + diff --git a/tests/test_envs.py b/tests/test_envs.py index 1db83afd..2beafbda 100644 --- a/tests/test_envs.py +++ b/tests/test_envs.py @@ -1,4 +1,3 @@ -import os import pytest from tensordict import TensorDict import torch diff --git a/tests/test_examples.py b/tests/test_examples.py new file mode 100644 index 00000000..4873d4d5 --- /dev/null +++ b/tests/test_examples.py @@ -0,0 +1,18 @@ +import pytest +from pathlib import Path + +@pytest.mark.parametrize( + "path", + [ + "examples/1_visualize_dataset.py", + "examples/2_evaluate_pretrained_policy.py", + "examples/3_train_policy.py", + ], +) +def test_example(path): + + with open(path, 'r') as file: + file_contents = file.read() + exec(file_contents) + + assert Path("outputs/visualize_dataset/example/episode_0.mp4").exists() diff --git a/tests/test_policies.py b/tests/test_policies.py index cd08fc4e..d3dc0bc5 100644 --- a/tests/test_policies.py +++ b/tests/test_policies.py @@ -13,17 +13,16 @@ from lerobot.common.policies.abstract import AbstractPolicy from .utils import DEVICE, init_config - @pytest.mark.parametrize( "env_name,policy_name,extra_overrides", [ ("simxarm", "tdmpc", ["policy.mpc=true"]), ("pusht", "tdmpc", ["policy.mpc=false"]), ("pusht", "diffusion", []), - ("aloha", "act", ["env.task=sim_insertion_scripted"]), - ("aloha", "act", ["env.task=sim_insertion_human"]), - ("aloha", "act", ["env.task=sim_transfer_cube_scripted"]), - ("aloha", "act", ["env.task=sim_transfer_cube_human"]), + ("aloha", "act", ["env.task=sim_insertion", "dataset_id=aloha_sim_insertion_human"]), + ("aloha", "act", ["env.task=sim_insertion", "dataset_id=aloha_sim_insertion_scripted"]), + ("aloha", "act", ["env.task=sim_transfer_cube", "dataset_id=aloha_sim_transfer_cube_human"]), + ("aloha", "act", ["env.task=sim_transfer_cube", "dataset_id=aloha_sim_transfer_cube_scripted"]), # TODO(aliberts): simxarm not working with diffusion # ("simxarm", "diffusion", []), ], @@ -106,6 +105,8 @@ def test_abstract_policy_forward(): return class StubPolicy(AbstractPolicy): + name = "stub" + def __init__(self): super().__init__(n_action_steps) self.n_policy_invocations = 0