mirror of
https://github.com/modelscope/modelscope.git
synced 2026-02-24 04:01:10 +01:00
[to #47612577]feat: image supoort 3d models, python3.8 test version
Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/11542009 * mmcv-full<=1.7.0 for mmdet3d * fix code style issue * add speechbrain==0.5.7 * add compatible comments
This commit is contained in:
@@ -96,9 +96,9 @@ else
|
||||
fi
|
||||
if [[ $python_version == 3.7* ]]; then
|
||||
base_tag=$base_tag-py37
|
||||
elif [[ $python_version == z* ]]; then
|
||||
elif [[ $python_version == 3.8* ]]; then
|
||||
base_tag=$base_tag-py38
|
||||
elif [[ $python_version == z* ]]; then
|
||||
elif [[ $python_version == 3.9* ]]; then
|
||||
base_tag=$base_tag-py39
|
||||
else
|
||||
echo "Unsupport python version: $python_version"
|
||||
@@ -129,8 +129,15 @@ else
|
||||
echo "Building dsw image well need set ModelScope lib cache location."
|
||||
docker_file_content="${docker_file_content} \nENV MODELSCOPE_CACHE=/mnt/workspace/.cache/modelscope"
|
||||
fi
|
||||
if [ "$is_ci_test" == "True" ]; then
|
||||
echo "Building CI image, uninstall modelscope"
|
||||
docker_file_content="${docker_file_content} \nRUN pip uninstall modelscope -y"
|
||||
fi
|
||||
printf "$docker_file_content" > Dockerfile
|
||||
docker build -t $IMAGE_TO_BUILD \
|
||||
|
||||
while true
|
||||
do
|
||||
docker build -t $IMAGE_TO_BUILD \
|
||||
--build-arg USE_GPU \
|
||||
--build-arg BASE_IMAGE \
|
||||
--build-arg PYTHON_VERSION \
|
||||
@@ -138,11 +145,14 @@ docker build -t $IMAGE_TO_BUILD \
|
||||
--build-arg CUDATOOLKIT_VERSION \
|
||||
--build-arg TENSORFLOW_VERSION \
|
||||
-f Dockerfile .
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Image build done"
|
||||
break
|
||||
else
|
||||
echo "Running docker build command error, we will retry"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Running docker build command error, please check the log!"
|
||||
exit -1
|
||||
fi
|
||||
if [ "$run_ci_test" == "True" ]; then
|
||||
echo "Running ci case."
|
||||
export MODELSCOPE_CACHE=/home/mulin.lyh/model_scope_cache
|
||||
|
||||
@@ -12,7 +12,7 @@ RUN apt-get update && apt-get install -y --reinstall ca-certificates && \
|
||||
apt-get clean && \
|
||||
cp /tmp/resources/ubuntu20.04_sources.tuna /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y locales wget git strace gdb vim ffmpeg libsm6 tzdata language-pack-zh-hans ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy libxext6 build-essential ninja-build && \
|
||||
apt-get install -y locales wget git strace gdb sox libopenmpi-dev curl strace 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 && \
|
||||
@@ -58,12 +58,46 @@ RUN if [ "$USE_GPU" = "True" ] ; then \
|
||||
pip install --no-cache-dir tensorflow==$TENSORFLOW_VERSION; \
|
||||
fi
|
||||
|
||||
# mmcv-full<=1.7.0 for mmdet3d compatible
|
||||
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; \
|
||||
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<=1.7.0' && pip cache purge; \
|
||||
else \
|
||||
MMCV_WITH_OPS=1 MAX_JOBS=8 pip install --no-cache-dir mmcv-full && pip cache purge; \
|
||||
MMCV_WITH_OPS=1 MAX_JOBS=8 pip install --no-cache-dir 'mmcv-full<=1.7.0' && pip cache purge; \
|
||||
fi
|
||||
|
||||
# default shell bash
|
||||
ENV SHELL=/bin/bash
|
||||
# install special package
|
||||
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
|
||||
|
||||
# copy install scripts
|
||||
COPY docker/scripts/install_unifold.sh docker/scripts/install_colmap.sh docker/scripts/install_pytorch3d_nvdiffrast.sh docker/scripts/install_tiny_cuda_nn.sh docker/scripts/install_apex.sh /tmp/
|
||||
|
||||
# for uniford
|
||||
RUN if [ "$USE_GPU" = "True" ] ; then \
|
||||
bash /tmp/install_unifold.sh; \
|
||||
else \
|
||||
echo 'cpu unsupport uniford'; \
|
||||
fi
|
||||
|
||||
RUN if [ "$USE_GPU" = "True" ] ; then \
|
||||
pip install --no-cache-dir git+https://github.com/gxd1994/Pointnet2.PyTorch.git@master#subdirectory=pointnet2; \
|
||||
else \
|
||||
echo 'cpu unsupport Pointnet2'; \
|
||||
fi
|
||||
|
||||
RUN pip install --no-cache-dir detectron2==0.3 -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
|
||||
|
||||
# 3d supports
|
||||
RUN bash /tmp/install_colmap.sh
|
||||
RUN bash /tmp/install_tiny_cuda_nn.sh
|
||||
RUN bash /tmp/install_pytorch3d_nvdiffrast.sh
|
||||
# end of 3D
|
||||
|
||||
# install modelscope
|
||||
COPY requirements /var/modelscope
|
||||
RUN pip install --no-cache-dir --upgrade pip && \
|
||||
@@ -76,42 +110,17 @@ RUN pip install --no-cache-dir --upgrade pip && \
|
||||
pip install --no-cache-dir -r /var/modelscope/tests.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 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
|
||||
|
||||
# install jupyter plugin
|
||||
RUN mkdir -p /root/.local/share/jupyter/labextensions/ && \
|
||||
cp -r /tmp/resources/jupyter_plugins/* /root/.local/share/jupyter/labextensions/
|
||||
|
||||
COPY docker/scripts/modelscope_env_init.sh /usr/local/bin/ms_env_init.sh
|
||||
RUN pip install --no-cache-dir https://modelscope.oss-cn-beijing.aliyuncs.com/releases/dependencies/xtcocotools-1.12-cp37-cp37m-linux_x86_64.whl --force
|
||||
RUN pip install --no-cache-dir xtcocotools==1.12 detectron2==0.3 -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html --force
|
||||
|
||||
# for uniford
|
||||
COPY docker/scripts/install_unifold.sh /tmp/install_unifold.sh
|
||||
RUN if [ "$USE_GPU" = "True" ] ; then \
|
||||
bash /tmp/install_unifold.sh; \
|
||||
else \
|
||||
echo 'cpu unsupport uniford'; \
|
||||
fi
|
||||
|
||||
RUN pip install --no-cache-dir mmcls>=0.21.0 mmdet>=2.25.0 decord>=0.6.0 numpy==1.18.5 https://pypi.tuna.tsinghua.edu.cn/packages/70/ad/06f8a06cef819606cb1a521bcc144288daee5c7e73c5d722492866cb1b92/wenetruntime-1.11.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl ipykernel fairseq fasttext deepspeed
|
||||
COPY docker/scripts/install_apex.sh /tmp/install_apex.sh
|
||||
# speechbrain==0.5.7 for audio compatible
|
||||
RUN pip install --no-cache-dir speechbrain==0.5.7 adaseq>=0.5.0 mmcls>=0.21.0 mmdet>=2.25.0 decord>=0.6.0 numpy==1.18.5 wenetruntime==1.11.0 ipykernel fairseq fasttext deepspeed
|
||||
RUN if [ "$USE_GPU" = "True" ] ; then \
|
||||
bash /tmp/install_apex.sh; \
|
||||
else \
|
||||
echo 'cpu unsupport apex'; \
|
||||
fi
|
||||
RUN apt-get update && apt-get install -y sox && \
|
||||
apt-get clean
|
||||
RUN if [ "$USE_GPU" = "True" ] ; then \
|
||||
pip install --no-cache-dir git+https://github.com/gxd1994/Pointnet2.PyTorch.git@master#subdirectory=pointnet2; \
|
||||
else \
|
||||
echo 'cpu unsupport Pointnet2'; \
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
export MAX_JOBS=16
|
||||
git clone https://github.com/NVIDIA/apex
|
||||
cd apex
|
||||
TORCH_CUDA_ARCH_LIST="6.0;6.1;6.2;7.0;7.5;8.0;8.6" pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
|
||||
cd ..
|
||||
rm -rf apex
|
||||
export MAX_JOBS=16 \
|
||||
&& git clone https://github.com/NVIDIA/apex \
|
||||
&& cd apex \
|
||||
&& TORCH_CUDA_ARCH_LIST="6.0;6.1;6.2;7.0;7.5;8.0;8.6" pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./ \
|
||||
&& cd .. \
|
||||
&& rm -rf apex
|
||||
|
||||
24
docker/scripts/install_colmap.sh
Normal file
24
docker/scripts/install_colmap.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
wget -q https://cmake.org/files/v3.25/cmake-3.25.2-linux-x86_64.sh \
|
||||
&& mkdir /opt/cmake \
|
||||
&& sh cmake-3.25.2-linux-x86_64.sh --prefix=/opt/cmake --skip-license \
|
||||
&& ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake \
|
||||
&& rm -f cmake-3.25.2-linux-x86_64.sh \
|
||||
&& apt-get update \
|
||||
&& apt-get install libboost-program-options-dev libboost-filesystem-dev libboost-graph-dev libboost-system-dev libboost-test-dev libeigen3-dev libflann-dev libsuitesparse-dev libfreeimage-dev libmetis-dev libgoogle-glog-dev libgflags-dev libsqlite3-dev libglew-dev qtbase5-dev libqt5opengl5-dev libcgal-dev libceres-dev -y \
|
||||
&& export CMAKE_BUILD_PARALLEL_LEVEL=36 \
|
||||
&& export MAX_JOBS=16 \
|
||||
&& export COLMAP_VERSION=dev \
|
||||
&& export CUDA_ARCHITECTURES="all" \
|
||||
&& git clone https://github.com/colmap/colmap.git \
|
||||
&& cd colmap \
|
||||
&& git reset --hard ${COLMAP_VERSION} \
|
||||
&& mkdir build \
|
||||
&& cd build \
|
||||
&& cmake .. -GNinja -DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES} \
|
||||
&& ninja \
|
||||
&& ninja install \
|
||||
&& cd ../.. \
|
||||
&& rm -rf colmap \
|
||||
&& apt-get clean \
|
||||
&& strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
@@ -1,12 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
ModelScopeLib=/usr/local/modelscope/lib64
|
||||
|
||||
if [ ! -d /usr/local/modelscope ]; then
|
||||
mkdir -p $ModelScopeLib
|
||||
fi
|
||||
|
||||
# audio libs
|
||||
wget "http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/release/maas/libs/audio/libmitaec_pyio.so" -O ${ModelScopeLib}/libmitaec_pyio.so
|
||||
14
docker/scripts/install_pytorch3d_nvdiffrast.sh
Normal file
14
docker/scripts/install_pytorch3d_nvdiffrast.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=36 && export MAX_JOBS=36 && export CMAKE_CUDA_ARCHITECTURES="50;52;60;61;70;75;80;86" \
|
||||
&& pip install --no-cache-dir fvcore iopath \
|
||||
&& curl -LO https://github.com/NVIDIA/cub/archive/1.10.0.tar.gz \
|
||||
&& tar xzf 1.10.0.tar.gz \
|
||||
&& export CUB_HOME=$PWD/cub-1.10.0 \
|
||||
&& pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable" \
|
||||
&& rm -fr 1.10.0.tar.gz cub-1.10.0 \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends pkg-config libglvnd0 libgl1 libglx0 libegl1 libgles2 libglvnd-dev libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev -y \
|
||||
&& git clone https://github.com/NVlabs/nvdiffrast.git \
|
||||
&& cd nvdiffrast \
|
||||
&& pip install --no-cache-dir . \
|
||||
&& cd .. \
|
||||
&& rm -rf nvdiffrast
|
||||
8
docker/scripts/install_tiny_cuda_nn.sh
Normal file
8
docker/scripts/install_tiny_cuda_nn.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=36 && export MAX_JOBS=36 && export TCNN_CUDA_ARCHITECTURES="50;52;60;61;70;75;80;86" \
|
||||
&& git clone --recursive https://github.com/nvlabs/tiny-cuda-nn \
|
||||
&& cd tiny-cuda-nn \
|
||||
&& git checkout v1.6 \
|
||||
&& cd bindings/torch \
|
||||
&& python setup.py install \
|
||||
&& cd ../../.. \
|
||||
&& rm -rf tiny-cuda-nn
|
||||
@@ -13,7 +13,7 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
import sphinx_book_theme
|
||||
# import sphinx_book_theme
|
||||
|
||||
sys.path.insert(0, os.path.abspath('../../'))
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user