mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-11 14:49:43 +00:00
fix(robotwin): pin compatible curobo in benchmark image (#3427)
* fix(robotwin): pin compatible curobo in benchmark image * fix(robotwin): make curobo smoke check gpu-free
This commit is contained in:
@@ -56,11 +56,11 @@ RUN uv pip install --no-cache --no-build-isolation \
|
|||||||
"git+https://github.com/facebookresearch/pytorch3d.git@stable"
|
"git+https://github.com/facebookresearch/pytorch3d.git@stable"
|
||||||
|
|
||||||
# CuRobo — NVlabs motion generator; TORCH_CUDA_ARCH_LIST must be set or the
|
# CuRobo — NVlabs motion generator; TORCH_CUDA_ARCH_LIST must be set or the
|
||||||
# build aborts on an empty arch list. Pinned SHA for reproducibility.
|
# build aborts on an empty arch list. RoboTwin's own installer pins v0.7.8,
|
||||||
ARG CUROBO_SHA=ca941586c33b8482ed9c0e74d60f23efd64b516a
|
# which still exposes the v1 API (`curobo.types.math`) that RoboTwin imports.
|
||||||
|
ARG CUROBO_REF=v0.7.8
|
||||||
RUN cd ${ROBOTWIN_ROOT}/envs \
|
RUN cd ${ROBOTWIN_ROOT}/envs \
|
||||||
&& git clone https://github.com/NVlabs/curobo.git \
|
&& git clone --branch ${CUROBO_REF} --depth 1 https://github.com/NVlabs/curobo.git \
|
||||||
&& git -C curobo checkout ${CUROBO_SHA} \
|
|
||||||
&& cd curobo \
|
&& cd curobo \
|
||||||
&& TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;8.9;9.0" \
|
&& TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;8.9;9.0" \
|
||||||
uv pip install -e . --no-build-isolation --no-cache
|
uv pip install -e . --no-build-isolation --no-cache
|
||||||
@@ -111,7 +111,23 @@ EOF
|
|||||||
WORKDIR ${ROBOTWIN_ROOT}
|
WORKDIR ${ROBOTWIN_ROOT}
|
||||||
RUN python script/update_embodiment_config_path.py
|
RUN python script/update_embodiment_config_path.py
|
||||||
|
|
||||||
ENV PYTHONPATH="${ROBOTWIN_ROOT}:${PYTHONPATH}"
|
ENV PYTHONPATH="${ROBOTWIN_ROOT}"
|
||||||
|
|
||||||
|
# Fail the image build early if the CuRobo package layout regresses. Importing
|
||||||
|
# RoboTwin's planner here is too eager because CuRobo constructs CUDA-backed
|
||||||
|
# defaults at import time, while Docker builds don't have access to an NVIDIA
|
||||||
|
# driver.
|
||||||
|
RUN python - <<'EOF'
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
from curobo.types.math import Pose
|
||||||
|
|
||||||
|
planner_src = (Path("/opt/robotwin/envs/robot/planner.py")).read_text()
|
||||||
|
assert "from curobo.types.math import Pose as CuroboPose" in planner_src
|
||||||
|
|
||||||
|
print("CuRobo import OK:", Pose.__name__)
|
||||||
|
print("RoboTwin planner import references curobo.types.math")
|
||||||
|
EOF
|
||||||
|
|
||||||
# Return to the lerobot source directory (set by base image) before overlaying.
|
# Return to the lerobot source directory (set by base image) before overlaying.
|
||||||
WORKDIR /lerobot
|
WORKDIR /lerobot
|
||||||
|
|||||||
Reference in New Issue
Block a user