Docker EGL/GLVND support + asset download refactor + imagenet stats fix

- Add NVIDIA EGL/Vulkan vendor ICDs and graphics libs to both Dockerfiles
- Refactor LIBERO-plus asset download into a separate build step
- Fix KeyError in datasets/factory.py when stats dict is None or missing keys

Made-with: Cursor
This commit is contained in:
Pepijn Kooijmans
2026-03-23 23:33:22 +01:00
parent a9e355bd03
commit 69aeda68f5
4 changed files with 74 additions and 31 deletions
+1 -14
View File
@@ -42,19 +42,6 @@ init_states=os.path.join(root,'init_files'), datasets=os.path.join(root,'..','da
assets=os.path.join(root,'assets')); \
cfg_dir = os.path.expanduser('~/.libero'); os.makedirs(cfg_dir, exist_ok=True); \
yaml.dump(d, open(os.path.join(cfg_dir,'config.yaml'),'w')); print('libero config created')" \
&& python -c "from libero.libero import benchmark, get_libero_path; print('libero OK')" \
&& python -c "\
from huggingface_hub import hf_hub_download; \
import zipfile, shutil, glob, os; \
from libero.libero import get_libero_path; \
assets_dst = os.path.join(get_libero_path('benchmark_root'), 'assets'); \
print(f'Downloading LIBERO-plus assets to {assets_dst}...'); \
zp = hf_hub_download('Sylvest/LIBERO-plus', 'assets.zip', repo_type='dataset', local_dir='/tmp/lp-dl'); \
zipfile.ZipFile(zp).extractall('/tmp/lp-unzip'); \
hits = glob.glob('/tmp/lp-unzip/**/assets/scenes', recursive=True); \
src = os.path.dirname(hits[0]); \
shutil.move(src, assets_dst); \
shutil.rmtree('/tmp/lp-dl', True); shutil.rmtree('/tmp/lp-unzip', True); \
print(f'Assets installed: {os.listdir(assets_dst)[:5]}...')"
&& python -c "from libero.libero import benchmark, get_libero_path; print('libero OK')"
CMD ["/bin/bash"]