Spaces:
Runtime error
Runtime error
| # syntax=docker/dockerfile:1-labs | |
| # Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| ARG BASE_IMAGE=nvcr.io/nvidia/pytorch:24.07-py3 | |
| FROM ${BASE_IMAGE} as base-image | |
| ENV PIP_CONSTRAINT="" | |
| ENV TRANSFORMERS_OFFLINE=0 | |
| ENV HYDRA_FULL_ERROR=1 | |
| ENV PYTHONUNBUFFERED=1 | |
| # APT packages | |
| RUN <<"EOF" bash -ex | |
| apt-get update | |
| apt-get install -y bc libsox-fmt-all | |
| apt-get clean | |
| EOF | |
| FROM base-image as te-wheel | |
| WORKDIR /tmp/NeMo | |
| ARG TE_REPO | |
| ARG TE_TAG | |
| RUN --mount=type=bind,source=docker/common/install_dep.sh,target=/tmp/NeMo/install_dep.sh \ | |
| --mount=type=bind,source=external/patches,target=/tmp/NeMo/external/patches <<"EOF" bash -ex | |
| bash /tmp/NeMo/install_dep.sh --library te --mode build | |
| ls -al /tmp/Megatron-LM || true | |
| EOF | |
| FROM base-image as mcore-wheel | |
| WORKDIR /tmp/NeMo | |
| ARG MLM_REPO | |
| ARG MLM_TAG | |
| RUN --mount=type=bind,source=docker/common/install_dep.sh,target=/tmp/NeMo/install_dep.sh <<"EOF" bash -ex | |
| bash /tmp/NeMo/install_dep.sh --library mcore --mode build | |
| ls -al /tmp/Megatron-LM || true | |
| EOF | |
| FROM base-image | |
| WORKDIR /tmp/NeMo | |
| ENV INSTALL_DIR="/opt" | |
| RUN \ | |
| --mount=type=bind,from=te-wheel,source=/opt/wheels/te,target=/opt/wheels/te \ | |
| --mount=type=bind,from=mcore-wheel,source=/opt/wheels/mcore,target=/opt/wheels/mcore \ | |
| --mount=type=bind,source=requirements,target=/tmp/NeMo/requirements \ | |
| --mount=type=bind,source=tools/ctc_segmentation/requirements.txt,target=/tmp/NeMo/tools/ctc_segmentation/requirements.txt \ | |
| --mount=type=bind,source=docker/common/install_dep.sh,target=/tmp/NeMo/install_dep.sh \ | |
| --mount=type=bind,source=setup.py,target=/tmp/NeMo/setup.py \ | |
| --mount=type=bind,source=external/patches,target=/tmp/NeMo/external/patches \ | |
| --mount=type=bind,source=README.md,target=/tmp/NeMo/README.md \ | |
| --mount=type=bind,source=nemo/package_info.py,target=/tmp/NeMo/nemo/package_info.py \ | |
| --mount=type=bind,source=nemo/__init__.py,target=/tmp/NeMo/nemo/__init__.py <<"EOF" bash -ex | |
| bash /tmp/NeMo/install_dep.sh --library te --mode install | |
| bash /tmp/NeMo/install_dep.sh --library mcore --mode install | |
| bash /tmp/NeMo/install_dep.sh --library extra --mode install | |
| pip install --no-cache-dir ".[all]" | |
| rm -rf $NEMO_DIR || true | |
| EOF | |
| WORKDIR /workspace | |
| ENV PYTHONPATH="${PYTHONPATH}:/workspace/Megatron-LM" | |
| ENV NEMO_HOME="/home/TestData/nemo_home" | |
| ARG IMAGE_LABEL | |
| LABEL "nemo.library"=${IMAGE_LABEL} | |
| ARG PR_NUMBER | |
| LABEL "nemo.pr_number"=${PR_NUMBER} | |