mirror of
https://github.com/huggingface/lerobot.git
synced 2026-07-26 11:16:00 +00:00
fix(docker): download VLABench mesh assets (required for tasks)
Task configs reference object meshes (obj/meshes/fruit/, containers/*) via name2class_xml; without them, random.choice([]) crashes during task build. Install gdown and run VLABench's download_assets.py script to fetch the asset + scene archives from Google Drive. Made-with: Cursor
This commit is contained in:
@@ -24,11 +24,10 @@ FROM huggingface/lerobot-gpu:latest
|
||||
# Shallow-clone without submodule recursion (nested SSH-only submodules fail in CI).
|
||||
# Editable install (-e) because VLABench/utils/ has no __init__.py, so
|
||||
# find_packages() omits it from wheels; editable mode uses the source tree directly.
|
||||
# Asset download (Google Drive via gdown) is skipped — unreliable in CI and not
|
||||
# needed for our smoke test which uses its own eval pipeline.
|
||||
# rrt-algorithms has the same packaging issue (rrt/ dir missing __init__.py).
|
||||
# Patch: constant.py calls os.listdir on ~100 asset/obj/meshes/* dirs at import
|
||||
# time; those dirs only exist after the Google Drive download. We guard the call
|
||||
# so missing dirs return [] instead of crashing.
|
||||
# time. Guard the call so missing dirs return [] instead of crashing (in case
|
||||
# the asset download is partial).
|
||||
RUN git clone --depth 1 https://github.com/OpenMOSS/VLABench.git ~/VLABench && \
|
||||
git clone --depth 1 https://github.com/motion-planning/rrt-algorithms.git ~/rrt-algorithms && \
|
||||
python3 -c "\
|
||||
@@ -40,7 +39,13 @@ p.write_text(t.replace( \
|
||||
'if not os.path.isdir(xml_dir): return []\n subdirs = os.listdir(xml_dir)'))" && \
|
||||
uv pip install --no-cache -e ~/VLABench -e ~/rrt-algorithms \
|
||||
mujoco==3.2.2 dm-control==1.0.22 \
|
||||
open3d colorlog scikit-learn openai
|
||||
open3d colorlog scikit-learn openai gdown
|
||||
|
||||
# Download VLABench mesh assets from Google Drive. Task configs reference
|
||||
# object meshes (obj/meshes/fruit/, containers/basket/, etc.); without them
|
||||
# the task builder crashes with IndexError on random.choice([]).
|
||||
# gdown handles Google Drive's confirmation tokens for large files.
|
||||
RUN python ~/VLABench/scripts/download_assets.py --choice all
|
||||
|
||||
# Overlay the PR's source code on top of the nightly image.
|
||||
COPY --chown=user_lerobot:user_lerobot . .
|
||||
|
||||
Reference in New Issue
Block a user