|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FROM nvidia/cuda:12.2.2-cudnn8-runtime-ubuntu22.04@sha256:2d913b09e6be8387e1a10976933642c73c840c0b735f0bf3c28d97fc9bc422e0 |
|
|
COPY --from=ghcr.io/astral-sh/uv:0.5.1 /uv /uvx /bin/ |
|
|
|
|
|
RUN apt-get update && \ |
|
|
apt-get install -y \ |
|
|
make \ |
|
|
g++ \ |
|
|
clang \ |
|
|
libosmesa6-dev \ |
|
|
libgl1-mesa-glx \ |
|
|
libglew-dev \ |
|
|
libglfw3-dev \ |
|
|
libgles2-mesa-dev \ |
|
|
libglib2.0-0 \ |
|
|
libsm6 \ |
|
|
libxrender1 \ |
|
|
libxext6 |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
ENV UV_LINK_MODE=copy |
|
|
|
|
|
|
|
|
|
|
|
ENV UV_PROJECT_ENVIRONMENT=/.venv |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COPY ./examples/libero/requirements.txt /tmp/requirements.txt |
|
|
COPY ./third_party/libero/requirements.txt /tmp/requirements-libero.txt |
|
|
COPY ./packages/openpi-client/pyproject.toml /tmp/openpi-client/pyproject.toml |
|
|
|
|
|
|
|
|
RUN uv venv --python 3.8 $UV_PROJECT_ENVIRONMENT |
|
|
RUN uv pip sync /tmp/requirements.txt /tmp/requirements-libero.txt /tmp/openpi-client/pyproject.toml --extra-index-url https://download.pytorch.org/whl/cu113 --index-strategy=unsafe-best-match |
|
|
ENV PYTHONPATH=/app:/app/packages/openpi-client/src:/app/third_party/libero |
|
|
|
|
|
|
|
|
|
|
|
ENV LIBERO_CONFIG_PATH=/tmp/libero |
|
|
RUN mkdir -p /tmp/libero && cat <<'EOF' > /tmp/libero/config.yaml |
|
|
benchmark_root: /app/third_party/libero/libero/libero |
|
|
bddl_files: /app/third_party/libero/libero/libero/bddl_files |
|
|
init_states: /app/third_party/libero/libero/libero/init_files |
|
|
datasets: /app/third_party/libero/libero/datasets |
|
|
assets: /app/third_party/libero/libero/libero/assets |
|
|
EOF |
|
|
|
|
|
CMD ["/bin/bash", "-c", "source /.venv/bin/activate && python examples/libero/main.py"] |
|
|
|