109 lines
3.9 KiB
Makefile
109 lines
3.9 KiB
Makefile
VERSION := 20251229-release
|
|
REMOTE_VERSION := v1.1.0
|
|
PROXY := http://192.168.16.68:18000
|
|
REMOTE_REPO := ccr-29eug8s3-pub.cnc.bj.baidubce.com/public
|
|
CUDA_DEVICES := 0
|
|
|
|
# Default target
|
|
.PHONY: all
|
|
all: help
|
|
|
|
.PHONY: build
|
|
build: build-merge build-train build-infer build-visualize
|
|
|
|
.PHONY: publish
|
|
push: build push-merge push-train push-infer push-visualize clean
|
|
|
|
.PHONY: merge train infer visualize
|
|
merge: build-merge run-merge
|
|
train: build-train run-train
|
|
infer: build-infer run-infer
|
|
visualize: build-visualize run-visualize
|
|
|
|
# --- Merge Image ---
|
|
.PHONY: build-merge run-merge push-merge
|
|
build-merge:
|
|
docker build -t dcloud/lerobot-merge:$(VERSION) -f docker/Dockerfile.merge . --build-arg https_proxy=$(PROXY)
|
|
|
|
run-merge:
|
|
docker run -it --rm \
|
|
-v $(CURDIR)/datasets:/workspace/embolab/inputs \
|
|
-v $(CURDIR)/docker/inputs:/workspace/embolab/outputs \
|
|
-v $(CURDIR)/docker/merge_task.json:/workspace/embolab/params/build_task.json \
|
|
-e HF_HUB_OFFLINE=1 -e HF_DATASET_OFFLINE=1 \
|
|
--shm-size=120G \
|
|
dcloud/lerobot-merge:$(VERSION)
|
|
|
|
push-merge:
|
|
docker tag dcloud/lerobot-merge:$(VERSION) $(REMOTE_REPO)/lerobot-merge:$(REMOTE_VERSION)
|
|
docker push $(REMOTE_REPO)/lerobot-merge:$(REMOTE_VERSION)
|
|
|
|
# --- Training Image ---
|
|
.PHONY: build-train run-train push-train
|
|
build-train:
|
|
docker build -t dcloud/lerobot-train:$(VERSION) -f docker/Dockerfile.train . --build-arg https_proxy=$(PROXY)
|
|
|
|
run-train:
|
|
docker run -it --rm --gpus '"device=$(CUDA_DEVICES)"' \
|
|
-v $(CURDIR)/docker/inputs:/workspace/embolab/inputs \
|
|
-v $(CURDIR)/docker/outputs:/workspace/embolab/outputs/ \
|
|
-v $(CURDIR)/docker/train_task.json:/workspace/embolab/params/build_task.json \
|
|
-e HF_HUB_OFFLINE=1 -e HF_DATASET_OFFLINE=1 \
|
|
--shm-size=120G \
|
|
dcloud/lerobot-train:$(VERSION)
|
|
|
|
push-train:
|
|
docker tag dcloud/lerobot-train:$(VERSION) $(REMOTE_REPO)/lerobot-train:$(REMOTE_VERSION)
|
|
docker push $(REMOTE_REPO)/lerobot-train:$(REMOTE_VERSION)
|
|
|
|
# --- Online Inference Image ---
|
|
.PHONY: build-infer run-infer push-infer
|
|
build-infer:
|
|
docker build -t dcloud/lerobot-infer:$(VERSION) -f docker/Dockerfile.infer . --build-arg https_proxy=$(PROXY)
|
|
|
|
run-infer:
|
|
docker run -it --rm --gpus '"device=$(CUDA_DEVICES)"' \
|
|
-v $(CURDIR)/docker/outputs:/workspace/embolab/outputs \
|
|
-v $(CURDIR)/docker/infer_task.json:/workspace/embolab/params/build_task.json \
|
|
-e HF_HUB_OFFLINE=1 -e HF_DATASET_OFFLINE=1 \
|
|
--shm-size=128G \
|
|
dcloud/lerobot-infer:$(VERSION)
|
|
|
|
push-infer:
|
|
docker tag dcloud/lerobot-infer:$(VERSION) $(REMOTE_REPO)/lerobot-infer:$(REMOTE_VERSION)
|
|
docker push $(REMOTE_REPO)/lerobot-infer:$(REMOTE_VERSION)
|
|
|
|
# --- Visualize Image ---
|
|
.PHONY: build-visualize run-visualize push-visualize
|
|
build-visualize:
|
|
docker build -t dcloud/lerobot-visualize:$(VERSION) -f docker/Dockerfile.visualize . --build-arg https_proxy=$(PROXY)
|
|
|
|
run-visualize:
|
|
docker run -it --rm \
|
|
-v $(CURDIR)/datasets:/workspace/embolab/datasets \
|
|
-e HF_HUB_OFFLINE=1 -e HF_DATASET_OFFLINE=1 \
|
|
-p 29876:9876 \
|
|
--shm-size=120G \
|
|
dcloud/lerobot-visualize:$(VERSION)
|
|
|
|
push-visualize:
|
|
docker tag dcloud/lerobot-visualize:$(VERSION) $(REMOTE_REPO)/lerobot-visualize:$(REMOTE_VERSION)
|
|
docker push $(REMOTE_REPO)/lerobot-visualize:$(REMOTE_VERSION)
|
|
|
|
# --- Cleanup ---
|
|
.PHONY: clean
|
|
clean:
|
|
-docker images -f "dangling=true" -q | xargs -r docker rmi
|
|
-docker images | grep lerobot | grep -v $(VERSION) | awk '{print $$1":"$$2}' | xargs -r docker rmi
|
|
|
|
# --- Help ---
|
|
.PHONY: help
|
|
help:
|
|
@echo "Available commands:"
|
|
@echo " make build Build all Docker images"
|
|
@echo " make push Push all Docker images to remote repository"
|
|
@echo " make merge Build and run the merge image"
|
|
@echo " make train Build and run the training image"
|
|
@echo " make infer Build and run the inference image"
|
|
@echo " make visualize Build and run the visualization image"
|
|
@echo " make clean Clean up dangling Docker images"
|