mirror of
https://github.com/modelscope/modelscope.git
synced 2025-12-16 08:17:45 +01:00
auto build docker images aone 任务: https://test.aone.alibaba-inc.com/jobs/1824567?buildId=143470479 修改任务分支 Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/9566518 * [to #43653669]feat: auto build docker images
85 lines
4.0 KiB
Docker
85 lines
4.0 KiB
Docker
ARG BASE_IMAGE=reg.docker.alibaba-inc.com/modelscope/ubuntu:20.04-cuda11.3.0-cudnn8-devel
|
|
FROM $BASE_IMAGE
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
ENV TZ=Asia/Shanghai
|
|
ENV CONDA_DIR /opt/conda
|
|
ENV PATH="${CONDA_DIR}/bin:${PATH}"
|
|
ENV arch=x86_64
|
|
SHELL ["/bin/bash", "-c"]
|
|
COPY docker/rcfiles /tmp/resources
|
|
RUN apt-get update && apt-get install -y --reinstall ca-certificates && \
|
|
cp /tmp/resources/ubuntu20.04_sources.tuna /etc/apt/sources.list && \
|
|
apt-get update && \
|
|
apt-get install -y locales wget git vim ffmpeg libsm6 tzdata language-pack-zh-hans ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy libxext6 build-essential ninja-build && \
|
|
wget https://packagecloud.io/github/git-lfs/packages/debian/bullseye/git-lfs_3.2.0_amd64.deb/download -O ./git-lfs_3.2.0_amd64.deb && \
|
|
dpkg -i ./git-lfs_3.2.0_amd64.deb && \
|
|
rm -f ./git-lfs_3.2.0_amd64.deb && \
|
|
locale-gen zh_CN && \
|
|
locale-gen zh_CN.utf8 && \
|
|
update-locale LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8 LANGUAGE=zh_CN.UTF-8 && \
|
|
ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
|
dpkg-reconfigure --frontend noninteractive tzdata && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV LANG=zh_CN.UTF-8 LANGUAGE=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8
|
|
|
|
#install and config python
|
|
ARG PYTHON_VERSION=3.7.13
|
|
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-${arch}.sh -O ./miniconda.sh && \
|
|
/bin/bash miniconda.sh -b -p /opt/conda && \
|
|
rm -f miniconda.sh && \
|
|
ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
|
|
echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
|
|
cp /tmp/resources/conda.tuna ~/.condarc && \
|
|
source /root/.bashrc && \
|
|
conda install --yes python==${PYTHON_VERSION} && \
|
|
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
|
|
|
ARG USE_GPU=True
|
|
|
|
# install pytorch
|
|
ARG TORCH_VERSION=1.12.0
|
|
ARG CUDATOOLKIT_VERSION=11.3
|
|
RUN if [ "$USE_GPU" = "True" ] ; then \
|
|
conda install --yes pytorch==$TORCH_VERSION torchvision torchaudio cudatoolkit=$CUDATOOLKIT_VERSION -c pytorch && conda clean --yes --all; \
|
|
else \
|
|
conda install pytorch==$TORCH_VERSION torchvision torchaudio cpuonly -c pytorch; \
|
|
fi
|
|
|
|
# install tensorflow
|
|
ARG TENSORFLOW_VERSION=1.15.5
|
|
RUN if [ "$USE_GPU" = "True" ] ; then \
|
|
pip install --no-cache-dir --use-deprecated=legacy-resolver tensorflow==$TENSORFLOW_VERSION -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html; \
|
|
else \
|
|
pip install --no-cache-dir tensorflow==$TENSORFLOW_VERSION; \
|
|
fi
|
|
|
|
RUN if [ "$USE_GPU" = "True" ] ; then \
|
|
CUDA_HOME=/usr/local/cuda TORCH_CUDA_ARCH_LIST="5.0 5.2 6.0 6.1 7.0 7.5 8.0 8.6" MMCV_WITH_OPS=1 MAX_JOBS=8 FORCE_CUDA=1 pip install --no-cache-dir mmcv-full && pip cache purge; \
|
|
else \
|
|
MMCV_WITH_OPS=1 MAX_JOBS=8 pip install --no-cache-dir mmcv-full && pip cache purge; \
|
|
fi
|
|
|
|
# install modelscope
|
|
COPY requirements /var/modelscope
|
|
RUN pip install --no-cache-dir --upgrade pip && \
|
|
pip install --no-cache-dir -r /var/modelscope/runtime.txt -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html && \
|
|
pip install --no-cache-dir -r /var/modelscope/audio.txt -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html && \
|
|
pip install --no-cache-dir -r /var/modelscope/cv.txt -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html && \
|
|
pip install --no-cache-dir -r /var/modelscope/multi-modal.txt -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html && \
|
|
pip install --no-cache-dir -r /var/modelscope/nlp.txt -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html && \
|
|
pip cache purge
|
|
|
|
# default shell bash
|
|
ENV SHELL=/bin/bash
|
|
|
|
# install special package
|
|
RUN pip install --no-cache-dir mmcls>=0.21.0 mmdet>=2.25.0 decord>=0.6.0 numpy==1.18.5 datasets==2.1.0
|
|
|
|
RUN if [ "$USE_GPU" = "True" ] ; then \
|
|
pip install --no-cache-dir dgl-cu113 dglgo -f https://data.dgl.ai/wheels/repo.html; \
|
|
else \
|
|
pip install --no-cache-dir dgl dglgo -f https://data.dgl.ai/wheels/repo.html; \
|
|
fi
|