acot-vla-ckpt6000 / Dockerfile.submit
openhe's picture
Upload Dockerfile.submit with huggingface_hub
dccc0e6 verified
FROM nvidia/cuda:12.2.2-cudnn8-runtime-ubuntu22.04
COPY --from=ghcr.io/astral-sh/uv:0.5.1 /uv /uvx /bin/
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
python3.11 python3.11-venv python3.11-dev \
git git-lfs linux-headers-generic build-essential clang && \
git lfs install && rm -rf /var/lib/apt/lists/*
ENV UV_LINK_MODE=copy UV_PROJECT_ENVIRONMENT=/.venv UV_PYTHON_DOWNLOADS=never
RUN uv venv --python python3.11 $UV_PROJECT_ENVIRONMENT
COPY pyproject.toml uv.lock LICENSE README.md ./
COPY packages/ packages/
RUN --mount=type=cache,target=/root/.cache/uv \
GIT_LFS_SKIP_SMUDGE=1 uv sync --frozen --no-install-project --no-dev
COPY src/ src/
COPY scripts/ scripts/
COPY examples/ examples/
RUN --mount=type=cache,target=/root/.cache/uv \
GIT_LFS_SKIP_SMUDGE=1 uv sync --frozen --no-dev
# Checkpoint base
ARG C=checkpoints/acot_icra_simulation_challenge_reasoning_to_action/jubail_h200_4gpu/6000
ARG D=${C}/params/ocdbt.process_0/d
# Small checkpoint files (one layer)
COPY ${C}/assets ${C}/assets
COPY ${C}/_CHECKPOINT_METADATA ${C}/_CHECKPOINT_METADATA
COPY ${C}/params/array_metadatas ${C}/params/array_metadatas
COPY ${C}/params/d ${C}/params/d
COPY ${C}/params/manifest.ocdbt ${C}/params/manifest.ocdbt
COPY ${C}/params/_METADATA ${C}/params/_METADATA
COPY ${C}/params/_sharding ${C}/params/_sharding
COPY ${C}/params/ocdbt.process_0/manifest.ocdbt ${C}/params/ocdbt.process_0/manifest.ocdbt
# Medium files (~910M + 60M + tiny files) - one layer
COPY ${D}/621357ee5ce63185e775b10737f613cd ${D}/621357ee5ce63185e775b10737f613cd
COPY ${D}/af8bb8e6f022b1aa60cf898d57ce2786 ${D}/af8bb8e6f022b1aa60cf898d57ce2786
COPY ${D}/194726844871162a68fd3706fe5df322 ${D}/
COPY ${D}/3b8f638975b6cd0bfe076a67be0bda33 ${D}/
COPY ${D}/3f4cfeae67046e5f1bd969fbf71c9eea ${D}/
COPY ${D}/670a778fa8fb810afa51a5bbf7d47236 ${D}/
COPY ${D}/97700388192cfdf53731d9d98084d23b ${D}/
COPY ${D}/9f6f221cd61ff8aaad9f8934ac1be593 ${D}/
COPY ${D}/b0a266dda268c4e59baaad58ee232f34 ${D}/
COPY ${D}/ba3c7716a6f6ca414cf75ff226a91102 ${D}/
COPY ${D}/d79abe13eed95cab9c9fc2734d009a7e ${D}/
# Big file 1 chunks (2.1G -> 5x500M) - each a separate layer
COPY ${D}/split/224973dd319b9f0cd7268554fc312684_00 ${D}/split/224973dd319b9f0cd7268554fc312684_00
COPY ${D}/split/224973dd319b9f0cd7268554fc312684_01 ${D}/split/224973dd319b9f0cd7268554fc312684_01
COPY ${D}/split/224973dd319b9f0cd7268554fc312684_02 ${D}/split/224973dd319b9f0cd7268554fc312684_02
COPY ${D}/split/224973dd319b9f0cd7268554fc312684_03 ${D}/split/224973dd319b9f0cd7268554fc312684_03
COPY ${D}/split/224973dd319b9f0cd7268554fc312684_04 ${D}/split/224973dd319b9f0cd7268554fc312684_04
# Big file 2 chunks (2.1G -> 5x500M)
COPY ${D}/split/896b601176d4e8371cc79fc6271a7a27_00 ${D}/split/896b601176d4e8371cc79fc6271a7a27_00
COPY ${D}/split/896b601176d4e8371cc79fc6271a7a27_01 ${D}/split/896b601176d4e8371cc79fc6271a7a27_01
COPY ${D}/split/896b601176d4e8371cc79fc6271a7a27_02 ${D}/split/896b601176d4e8371cc79fc6271a7a27_02
COPY ${D}/split/896b601176d4e8371cc79fc6271a7a27_03 ${D}/split/896b601176d4e8371cc79fc6271a7a27_03
COPY ${D}/split/896b601176d4e8371cc79fc6271a7a27_04 ${D}/split/896b601176d4e8371cc79fc6271a7a27_04
# Big file 3 chunks (2.5G -> 5x500M)
COPY ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_00 ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_00
COPY ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_01 ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_01
COPY ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_02 ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_02
COPY ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_03 ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_03
COPY ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_04 ${D}/split/deb79b36487c5a15fa2fd64b812d6a00_04
# Reassemble original files from chunks and remove chunks
RUN cd ${D} && \
for name in 224973dd319b9f0cd7268554fc312684 896b601176d4e8371cc79fc6271a7a27 deb79b36487c5a15fa2fd64b812d6a00; do \
cat split/${name}_* > ${name} && rm split/${name}_*; \
done && rmdir split
# Symlinks for default G2SIM path
RUN ln -s jubail_h200_4gpu checkpoints/acot_icra_simulation_challenge_reasoning_to_action/exp_name && \
ln -s 6000 checkpoints/acot_icra_simulation_challenge_reasoning_to_action/jubail_h200_4gpu/30000
ENV PYTHONPATH="/app/src"
CMD ["bash", "./scripts/server.sh", "0", "8999"]