169 lines
4.5 KiB
Makefile
169 lines
4.5 KiB
Makefile
.PHONY: tests
|
|
|
|
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),)
|
|
PYTHON_PATH := $(shell poetry run which python)
|
|
endif
|
|
|
|
export PATH := $(dir $(PYTHON_PATH)):$(PATH)
|
|
|
|
DEVICE ?= cpu
|
|
|
|
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:
|
|
${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
|
|
${MAKE} DEVICE=$(DEVICE) test-tdmpc-ete-eval
|
|
${MAKE} DEVICE=$(DEVICE) test-default-ete-eval
|
|
${MAKE} DEVICE=$(DEVICE) test-act-pusht-tutorial
|
|
|
|
test-act-ete-train:
|
|
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 \
|
|
device=$(DEVICE) \
|
|
training.save_checkpoint=true \
|
|
training.save_freq=2 \
|
|
policy.n_action_steps=20 \
|
|
policy.chunk_size=20 \
|
|
training.batch_size=2 \
|
|
training.image_transforms.enable=true \
|
|
hydra.run.dir=tests/outputs/act/
|
|
|
|
test-act-ete-eval:
|
|
python lerobot/scripts/eval.py \
|
|
-p tests/outputs/act/checkpoints/000002/pretrained_model \
|
|
eval.n_episodes=1 \
|
|
eval.batch_size=1 \
|
|
env.episode_length=8 \
|
|
device=$(DEVICE) \
|
|
|
|
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 \
|
|
device=$(DEVICE) \
|
|
training.save_checkpoint=true \
|
|
training.save_freq=2 \
|
|
policy.n_action_steps=20 \
|
|
policy.chunk_size=20 \
|
|
training.batch_size=2 \
|
|
hydra.run.dir=tests/outputs/act_amp/ \
|
|
training.image_transforms.enable=true \
|
|
use_amp=true
|
|
|
|
test-act-ete-eval-amp:
|
|
python lerobot/scripts/eval.py \
|
|
-p tests/outputs/act_amp/checkpoints/000002/pretrained_model \
|
|
eval.n_episodes=1 \
|
|
eval.batch_size=1 \
|
|
env.episode_length=8 \
|
|
device=$(DEVICE) \
|
|
use_amp=true
|
|
|
|
test-diffusion-ete-train:
|
|
python lerobot/scripts/train.py \
|
|
policy=diffusion \
|
|
policy.down_dims=\[64,128,256\] \
|
|
policy.diffusion_step_embed_dim=32 \
|
|
policy.num_inference_steps=10 \
|
|
env=pusht \
|
|
wandb.enable=False \
|
|
training.offline_steps=2 \
|
|
training.online_steps=0 \
|
|
eval.n_episodes=1 \
|
|
eval.batch_size=1 \
|
|
device=$(DEVICE) \
|
|
training.save_checkpoint=true \
|
|
training.save_freq=2 \
|
|
training.batch_size=2 \
|
|
training.image_transforms.enable=true \
|
|
hydra.run.dir=tests/outputs/diffusion/
|
|
|
|
test-diffusion-ete-eval:
|
|
python lerobot/scripts/eval.py \
|
|
-p tests/outputs/diffusion/checkpoints/000002/pretrained_model \
|
|
eval.n_episodes=1 \
|
|
eval.batch_size=1 \
|
|
env.episode_length=8 \
|
|
device=$(DEVICE) \
|
|
|
|
# TODO(alexander-soare): Restore online_steps to 2 when it is reinstated.
|
|
test-tdmpc-ete-train:
|
|
python lerobot/scripts/train.py \
|
|
policy=tdmpc \
|
|
env=xarm \
|
|
env.task=XarmLift-v0 \
|
|
dataset_repo_id=lerobot/xarm_lift_medium \
|
|
wandb.enable=False \
|
|
training.offline_steps=2 \
|
|
training.online_steps=0 \
|
|
eval.n_episodes=1 \
|
|
eval.batch_size=1 \
|
|
env.episode_length=2 \
|
|
device=$(DEVICE) \
|
|
training.save_checkpoint=true \
|
|
training.save_freq=2 \
|
|
training.batch_size=2 \
|
|
training.image_transforms.enable=true \
|
|
hydra.run.dir=tests/outputs/tdmpc/
|
|
|
|
test-tdmpc-ete-eval:
|
|
python lerobot/scripts/eval.py \
|
|
-p tests/outputs/tdmpc/checkpoints/000002/pretrained_model \
|
|
eval.n_episodes=1 \
|
|
eval.batch_size=1 \
|
|
env.episode_length=8 \
|
|
device=$(DEVICE) \
|
|
|
|
test-default-ete-eval:
|
|
python lerobot/scripts/eval.py \
|
|
--config lerobot/configs/default.yaml \
|
|
eval.n_episodes=1 \
|
|
eval.batch_size=1 \
|
|
env.episode_length=8 \
|
|
device=$(DEVICE) \
|
|
|
|
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 \
|
|
device=$(DEVICE) \
|
|
training.save_model=true \
|
|
training.save_freq=2 \
|
|
training.batch_size=2 \
|
|
training.image_transforms.enable=true \
|
|
hydra.run.dir=tests/outputs/act_pusht/
|
|
rm lerobot/configs/policy/created_by_Makefile.yaml
|