first commit
This commit is contained in:
35
Seg_All_In_One_MMSeg/docker/Dockerfile
Normal file
35
Seg_All_In_One_MMSeg/docker/Dockerfile
Normal file
@@ -0,0 +1,35 @@
|
||||
ARG PYTORCH="1.11.0"
|
||||
ARG CUDA="11.3"
|
||||
ARG CUDNN="8"
|
||||
ARG MMCV="2.0.1"
|
||||
|
||||
FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel
|
||||
|
||||
ENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0+PTX"
|
||||
ENV TORCH_NVCC_FLAGS="-Xfatbin -compress-all"
|
||||
ENV CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"
|
||||
|
||||
# To fix GPG key error when running apt-get update
|
||||
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub
|
||||
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
|
||||
|
||||
RUN apt-get update && apt-get install -y git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 libgl1-mesa-dev \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN conda clean --all
|
||||
|
||||
# Install MMCV
|
||||
ARG PYTORCH
|
||||
ARG CUDA
|
||||
ARG MMCV
|
||||
RUN ["/bin/bash", "-c", "pip install openmim"]
|
||||
RUN ["/bin/bash", "-c", "mim install mmengine"]
|
||||
RUN ["/bin/bash", "-c", "mim install mmcv==${MMCV}"]
|
||||
|
||||
# Install MMSegmentation
|
||||
RUN git clone -b main https://github.com/open-mmlab/mmsegmentation.git /mmsegmentation
|
||||
WORKDIR /mmsegmentation
|
||||
ENV FORCE_CUDA="1"
|
||||
RUN pip install -r requirements.txt
|
||||
RUN pip install --no-cache-dir -e .
|
||||
51
Seg_All_In_One_MMSeg/docker/serve/Dockerfile
Normal file
51
Seg_All_In_One_MMSeg/docker/serve/Dockerfile
Normal file
@@ -0,0 +1,51 @@
|
||||
ARG PYTORCH="1.11.0"
|
||||
ARG CUDA="11.3"
|
||||
ARG CUDNN="8"
|
||||
FROM pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel
|
||||
|
||||
ARG MMCV="2.0.1"
|
||||
ARG MMSEG="1.2.2"
|
||||
|
||||
ENV PYTHONUNBUFFERED TRUE
|
||||
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
|
||||
ca-certificates \
|
||||
g++ \
|
||||
openjdk-11-jre-headless \
|
||||
# MMDet Requirements
|
||||
ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV PATH="/opt/conda/bin:$PATH"
|
||||
RUN export FORCE_CUDA=1
|
||||
|
||||
# TORCHSEVER
|
||||
RUN pip install torchserve torch-model-archiver
|
||||
|
||||
# MMLAB
|
||||
ARG PYTORCH
|
||||
ARG CUDA
|
||||
RUN ["/bin/bash", "-c", "pip install openmim"]
|
||||
RUN ["/bin/bash", "-c", "mim install mmengine"]
|
||||
RUN ["/bin/bash", "-c", "mim install mmcv==${MMCV}"]
|
||||
RUN pip install mmsegmentation==${MMSEG}
|
||||
|
||||
RUN useradd -m model-server \
|
||||
&& mkdir -p /home/model-server/tmp
|
||||
|
||||
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh \
|
||||
&& chown -R model-server /home/model-server
|
||||
|
||||
COPY config.properties /home/model-server/config.properties
|
||||
RUN mkdir /home/model-server/model-store && chown -R model-server /home/model-server/model-store
|
||||
|
||||
EXPOSE 8080 8081 8082
|
||||
|
||||
USER model-server
|
||||
WORKDIR /home/model-server
|
||||
ENV TEMP=/home/model-server/tmp
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
CMD ["serve"]
|
||||
5
Seg_All_In_One_MMSeg/docker/serve/config.properties
Normal file
5
Seg_All_In_One_MMSeg/docker/serve/config.properties
Normal file
@@ -0,0 +1,5 @@
|
||||
inference_address=http://0.0.0.0:8080
|
||||
management_address=http://0.0.0.0:8081
|
||||
metrics_address=http://0.0.0.0:8082
|
||||
model_store=/home/model-server/model-store
|
||||
load_models=all
|
||||
12
Seg_All_In_One_MMSeg/docker/serve/entrypoint.sh
Normal file
12
Seg_All_In_One_MMSeg/docker/serve/entrypoint.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
if [[ "$1" = "serve" ]]; then
|
||||
shift 1
|
||||
torchserve --start --ts-config /home/model-server/config.properties
|
||||
else
|
||||
eval "$@"
|
||||
fi
|
||||
|
||||
# prevent docker exit
|
||||
tail -f /dev/null
|
||||
Reference in New Issue
Block a user