File size: 2,428 Bytes
10dd6c2 8aa5379 e9c68d8 8aa5379 ab146bf bdda622 8aa5379 ab146bf 8aa5379 1a4e767 a22a42d 1a4e767 e6fd5f0 1a4e767 92078c7 ab146bf 92078c7 e6fd5f0 c3f5714 e6fd5f0 4aee8c2 1cc9011 e6fd5f0 1a4e767 ab146bf 8aa5379 3e46726 ab146bf b797afe f2d389a e9c2872 fba7242 75b4e42 ab146bf 10dd6c2 fba7242 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# Documentation: https://huggingface.co/docs/hub/spaces-sdks-docker
FROM python:3.9
#RUN useradd -m -u 1000 user
#USER user
ENV PATH="/home/user/.local/bin:/opt/conda/bin:$PATH"
#WORKDIR /app
ARG PYTORCH_VERSION=2.1.0
ARG PYTHON_VERSION=3.9 #8.10
ARG CUDA_VERSION=11.8
ARG CU_DNN=8.5.0.96
ARG MAMBA_VERSION=24.3.0-0
ARG CUDA_CHANNEL=nvidia
ARG INSTALL_CHANNEL=pytorch
# Automatically set by buildx
ARG TARGETPLATFORM
#USER root
# Update basic dependencies we'll be using.
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
ccache \
curl \
python3 \
python3-pip \
git && \
rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/lee-ny/teaching_arithmetic.git /teaching_arithmetic
# && cd teaching_arithmetic && pip install -e .
#RUN chmod +x /teaching_arithmetic
# Install conda
# translating Docker's TARGETPLATFORM into mamba arches
RUN case ${TARGETPLATFORM} in \
"linux/arm64") MAMBA_ARCH=aarch64 ;; \
*) MAMBA_ARCH=x86_64 ;; \
esac && \
curl -fsSL -v -o ~/mambaforge.sh -O "https://github.com/conda-forge/miniforge/releases/download/${MAMBA_VERSION}/Mambaforge-${MAMBA_VERSION}-Linux-${MAMBA_ARCH}.sh"
RUN chmod +x ~/mambaforge.sh && \
bash ~/mambaforge.sh -b -p /opt/conda && \
rm ~/mambaforge.sh
# Install pytorch
# On arm64 we exit with an error code
RUN case ${TARGETPLATFORM} in \
"linux/arm64") exit 1 ;; \
*) /opt/conda/bin/conda update -y conda && \
/opt/conda/bin/conda install -c "${INSTALL_CHANNEL}" -c "${CUDA_CHANNEL}" -y "python=${PYTHON_VERSION}" "pytorch=$PYTORCH_VERSION" "pytorch-cuda=$(echo $CUDA_VERSION | cut -d'.' -f 1-2)" ;; \
esac && \
/opt/conda/bin/conda clean -ya
#COPY --chown=user ./requirements.txt requirements.txt
COPY ./requirements.txt requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt
#COPY --chown=user teaching_arithmetic /teaching_arithmetic
#COPY --chown=user . /app
COPY . /app
RUN mkdir out
RUN mkdir out/addition_train
COPY out /out
RUN chmod +x /out
#COPY out/addition_train /out/
#RUN chmod +x /out/addition_train
COPY ./train.sh /train.sh
RUN chmod +x /train.sh
# USER 1000
# CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
ENTRYPOINT ["/train.sh"] |