2024-04-25 20:58:39 +08:00
|
|
|
.PHONY: tests
|
|
|
|
|
2024-04-27 15:37:56 +08:00
|
|
|
PYTHON_PATH := $(shell which python)
|
|
|
|
|
|
|
|
# If Poetry is installed, redefine PYTHON_PATH to use the Poetry-managed Python
|
|
|
|
POETRY_CHECK := $(shell command -v poetry)
|
|
|
|
ifneq ($(POETRY_CHECK),)
|
2024-06-13 01:45:42 +08:00
|
|
|
PYTHON_PATH := $(shell poetry run which python)
|
2024-04-27 15:37:56 +08:00
|
|
|
endif
|
|
|
|
|
|
|
|
export PATH := $(dir $(PYTHON_PATH)):$(PATH)
|
|
|
|
|
2024-05-30 05:02:23 +08:00
|
|
|
DEVICE ?= cpu
|
2024-04-27 15:37:56 +08:00
|
|
|
|
2024-04-25 20:58:39 +08:00
|
|
|
build-cpu:
|
|
|
|
docker build -t lerobot:latest -f docker/lerobot-cpu/Dockerfile .
|
|
|
|
|
|
|
|
build-gpu:
|
|
|
|
docker build -t lerobot:latest -f docker/lerobot-gpu/Dockerfile .
|
|
|
|
|
|
|
|
test-end-to-end:
|
2024-05-30 05:02:23 +08:00
|
|
|
${MAKE} DEVICE=$(DEVICE) test-act-ete-train
|
|
|
|
${MAKE} DEVICE=$(DEVICE) test-act-ete-eval
|
|
|
|
${MAKE} DEVICE=$(DEVICE) test-act-ete-train-amp
|
|
|
|
${MAKE} DEVICE=$(DEVICE) test-act-ete-eval-amp
|
|
|
|
${MAKE} DEVICE=$(DEVICE) test-diffusion-ete-train
|
|
|
|
${MAKE} DEVICE=$(DEVICE) test-diffusion-ete-eval
|
|
|
|
${MAKE} DEVICE=$(DEVICE) test-tdmpc-ete-train
|
2024-07-25 18:16:38 +08:00
|
|
|
${MAKE} DEVICE=$(DEVICE) test-tdmpc-ete-train-with-online
|
2024-05-30 05:02:23 +08:00
|
|
|
${MAKE} DEVICE=$(DEVICE) test-tdmpc-ete-eval
|
|
|
|
${MAKE} DEVICE=$(DEVICE) test-default-ete-eval
|
|
|
|
${MAKE} DEVICE=$(DEVICE) test-act-pusht-tutorial
|
2024-04-25 20:58:39 +08:00
|
|
|
|
|
|
|
test-act-ete-train:
|
|
|
|
python lerobot/scripts/train.py \
|
|
|
|
policy=act \
|
2024-05-21 01:57:54 +08:00
|
|
|
policy.dim_model=64 \
|
2024-04-25 20:58:39 +08:00
|
|
|
env=aloha \
|
|
|
|
wandb.enable=False \
|
2024-04-30 23:08:59 +08:00
|
|
|
training.offline_steps=2 \
|
|
|
|
training.online_steps=0 \
|
|
|
|
eval.n_episodes=1 \
|
2024-05-04 00:33:16 +08:00
|
|
|
eval.batch_size=1 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-05-28 19:04:23 +08:00
|
|
|
training.save_checkpoint=true \
|
2024-04-30 23:08:59 +08:00
|
|
|
training.save_freq=2 \
|
2024-04-25 20:58:39 +08:00
|
|
|
policy.n_action_steps=20 \
|
|
|
|
policy.chunk_size=20 \
|
2024-04-30 23:08:59 +08:00
|
|
|
training.batch_size=2 \
|
2024-06-13 01:45:42 +08:00
|
|
|
training.image_transforms.enable=true \
|
2024-04-25 20:58:39 +08:00
|
|
|
hydra.run.dir=tests/outputs/act/
|
|
|
|
|
|
|
|
test-act-ete-eval:
|
|
|
|
python lerobot/scripts/eval.py \
|
2024-05-28 19:04:23 +08:00
|
|
|
-p tests/outputs/act/checkpoints/000002/pretrained_model \
|
2024-04-30 23:08:59 +08:00
|
|
|
eval.n_episodes=1 \
|
2024-05-04 00:33:16 +08:00
|
|
|
eval.batch_size=1 \
|
2024-04-25 20:58:39 +08:00
|
|
|
env.episode_length=8 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-04-25 20:58:39 +08:00
|
|
|
|
2024-05-21 01:57:54 +08:00
|
|
|
test-act-ete-train-amp:
|
|
|
|
python lerobot/scripts/train.py \
|
|
|
|
policy=act \
|
|
|
|
policy.dim_model=64 \
|
|
|
|
env=aloha \
|
|
|
|
wandb.enable=False \
|
|
|
|
training.offline_steps=2 \
|
|
|
|
training.online_steps=0 \
|
|
|
|
eval.n_episodes=1 \
|
|
|
|
eval.batch_size=1 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-05-28 19:04:23 +08:00
|
|
|
training.save_checkpoint=true \
|
2024-05-21 01:57:54 +08:00
|
|
|
training.save_freq=2 \
|
|
|
|
policy.n_action_steps=20 \
|
|
|
|
policy.chunk_size=20 \
|
|
|
|
training.batch_size=2 \
|
2024-05-28 19:04:23 +08:00
|
|
|
hydra.run.dir=tests/outputs/act_amp/ \
|
2024-06-13 01:45:42 +08:00
|
|
|
training.image_transforms.enable=true \
|
2024-05-21 01:57:54 +08:00
|
|
|
use_amp=true
|
|
|
|
|
|
|
|
test-act-ete-eval-amp:
|
|
|
|
python lerobot/scripts/eval.py \
|
2024-05-28 19:04:23 +08:00
|
|
|
-p tests/outputs/act_amp/checkpoints/000002/pretrained_model \
|
2024-05-21 01:57:54 +08:00
|
|
|
eval.n_episodes=1 \
|
|
|
|
eval.batch_size=1 \
|
|
|
|
env.episode_length=8 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-05-21 01:57:54 +08:00
|
|
|
use_amp=true
|
|
|
|
|
2024-04-25 20:58:39 +08:00
|
|
|
test-diffusion-ete-train:
|
|
|
|
python lerobot/scripts/train.py \
|
|
|
|
policy=diffusion \
|
2024-05-21 01:57:54 +08:00
|
|
|
policy.down_dims=\[64,128,256\] \
|
|
|
|
policy.diffusion_step_embed_dim=32 \
|
|
|
|
policy.num_inference_steps=10 \
|
2024-04-25 20:58:39 +08:00
|
|
|
env=pusht \
|
|
|
|
wandb.enable=False \
|
2024-04-30 23:08:59 +08:00
|
|
|
training.offline_steps=2 \
|
|
|
|
training.online_steps=0 \
|
|
|
|
eval.n_episodes=1 \
|
2024-05-04 00:33:16 +08:00
|
|
|
eval.batch_size=1 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-05-28 19:04:23 +08:00
|
|
|
training.save_checkpoint=true \
|
2024-04-30 23:08:59 +08:00
|
|
|
training.save_freq=2 \
|
|
|
|
training.batch_size=2 \
|
2024-06-13 01:45:42 +08:00
|
|
|
training.image_transforms.enable=true \
|
2024-04-25 20:58:39 +08:00
|
|
|
hydra.run.dir=tests/outputs/diffusion/
|
|
|
|
|
|
|
|
test-diffusion-ete-eval:
|
|
|
|
python lerobot/scripts/eval.py \
|
2024-05-28 19:04:23 +08:00
|
|
|
-p tests/outputs/diffusion/checkpoints/000002/pretrained_model \
|
2024-04-30 23:08:59 +08:00
|
|
|
eval.n_episodes=1 \
|
2024-05-04 00:33:16 +08:00
|
|
|
eval.batch_size=1 \
|
2024-04-25 20:58:39 +08:00
|
|
|
env.episode_length=8 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-04-25 20:58:39 +08:00
|
|
|
|
|
|
|
test-tdmpc-ete-train:
|
|
|
|
python lerobot/scripts/train.py \
|
|
|
|
policy=tdmpc \
|
|
|
|
env=xarm \
|
2024-05-01 23:40:04 +08:00
|
|
|
env.task=XarmLift-v0 \
|
2024-05-09 20:42:12 +08:00
|
|
|
dataset_repo_id=lerobot/xarm_lift_medium \
|
2024-04-25 20:58:39 +08:00
|
|
|
wandb.enable=False \
|
2024-05-01 23:40:04 +08:00
|
|
|
training.offline_steps=2 \
|
2024-05-21 01:27:54 +08:00
|
|
|
training.online_steps=0 \
|
2024-04-30 23:08:59 +08:00
|
|
|
eval.n_episodes=1 \
|
2024-05-04 00:33:16 +08:00
|
|
|
eval.batch_size=1 \
|
2024-04-25 20:58:39 +08:00
|
|
|
env.episode_length=2 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-05-28 19:04:23 +08:00
|
|
|
training.save_checkpoint=true \
|
2024-04-30 23:08:59 +08:00
|
|
|
training.save_freq=2 \
|
|
|
|
training.batch_size=2 \
|
2024-06-13 01:45:42 +08:00
|
|
|
training.image_transforms.enable=true \
|
2024-04-25 20:58:39 +08:00
|
|
|
hydra.run.dir=tests/outputs/tdmpc/
|
|
|
|
|
2024-07-25 18:16:38 +08:00
|
|
|
test-tdmpc-ete-train-with-online:
|
|
|
|
python lerobot/scripts/train.py \
|
|
|
|
env=pusht \
|
|
|
|
env.gym.obs_type=environment_state_agent_pos \
|
|
|
|
policy=tdmpc_pusht_keypoints \
|
|
|
|
eval.n_episodes=1 \
|
|
|
|
eval.batch_size=1 \
|
|
|
|
env.episode_length=10 \
|
|
|
|
device=$(DEVICE) \
|
|
|
|
training.offline_steps=2 \
|
|
|
|
training.online_steps=20 \
|
|
|
|
training.save_checkpoint=false \
|
|
|
|
training.save_freq=10 \
|
|
|
|
training.batch_size=2 \
|
|
|
|
training.online_rollout_n_episodes=2 \
|
|
|
|
training.online_rollout_batch_size=2 \
|
|
|
|
training.online_steps_between_rollouts=10 \
|
|
|
|
training.online_buffer_capacity=15 \
|
|
|
|
eval.use_async_envs=true \
|
|
|
|
hydra.run.dir=tests/outputs/tdmpc_online/
|
|
|
|
|
|
|
|
|
2024-04-25 20:58:39 +08:00
|
|
|
test-tdmpc-ete-eval:
|
|
|
|
python lerobot/scripts/eval.py \
|
2024-05-28 19:04:23 +08:00
|
|
|
-p tests/outputs/tdmpc/checkpoints/000002/pretrained_model \
|
2024-05-01 23:17:18 +08:00
|
|
|
eval.n_episodes=1 \
|
2024-05-04 00:33:16 +08:00
|
|
|
eval.batch_size=1 \
|
2024-05-01 23:17:18 +08:00
|
|
|
env.episode_length=8 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-05-01 23:17:18 +08:00
|
|
|
|
|
|
|
test-default-ete-eval:
|
|
|
|
python lerobot/scripts/eval.py \
|
|
|
|
--config lerobot/configs/default.yaml \
|
2024-04-30 23:08:59 +08:00
|
|
|
eval.n_episodes=1 \
|
2024-05-04 00:33:16 +08:00
|
|
|
eval.batch_size=1 \
|
2024-04-25 20:58:39 +08:00
|
|
|
env.episode_length=8 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-05-21 23:47:49 +08:00
|
|
|
|
|
|
|
test-act-pusht-tutorial:
|
|
|
|
cp examples/advanced/1_train_act_pusht/act_pusht.yaml lerobot/configs/policy/created_by_Makefile.yaml
|
|
|
|
python lerobot/scripts/train.py \
|
|
|
|
policy=created_by_Makefile.yaml \
|
|
|
|
env=pusht \
|
|
|
|
wandb.enable=False \
|
|
|
|
training.offline_steps=2 \
|
|
|
|
eval.n_episodes=1 \
|
|
|
|
eval.batch_size=1 \
|
|
|
|
env.episode_length=2 \
|
2024-05-30 05:02:23 +08:00
|
|
|
device=$(DEVICE) \
|
2024-05-21 23:47:49 +08:00
|
|
|
training.save_model=true \
|
|
|
|
training.save_freq=2 \
|
|
|
|
training.batch_size=2 \
|
2024-06-13 01:45:42 +08:00
|
|
|
training.image_transforms.enable=true \
|
2024-05-21 23:47:49 +08:00
|
|
|
hydra.run.dir=tests/outputs/act_pusht/
|
|
|
|
rm lerobot/configs/policy/created_by_Makefile.yaml
|