1414ARG IMAGE =debian: 12 - slim
1515FROM ${IMAGE} AS build
1616
17- LABEL maintainer =
" [email protected] " 17+ ENV DEBIAN_FRONTEND =noninteractive
18+ ENV APT_INSTALL =" apt install -y --no-install-recommends"
1819
19- RUN export DEBIAN_FRONTEND=noninteractive && \
20- apt update && \
21- apt upgrade -y && \
22- apt install -y --no-install-recommends ca-certificates python3-pip python-is-python3 git wget libopenslide0 unzip python3-dev && \
20+ RUN apt update && apt upgrade -y && \
21+ ${APT_INSTALL} ca-certificates python3-pip python-is-python3 git wget libopenslide0 unzip python3-dev && \
2322 wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb && \
2423 dpkg -i cuda-keyring_1.1-1_all.deb && \
2524 apt update && \
26- apt install -y --no-install-recommends cuda-toolkit-12 && \
25+ ${APT_INSTALL} cuda-toolkit-12 && \
2726 apt clean && \
2827 rm -rf cuda-keyring_1.1-1_all.deb /usr/lib/python*/EXTERNALLY-MANAGED /var/lib/apt/lists/*
2928
3029# TODO: remark for issue [revise the dockerfile](https://github.com/zarr-developers/numcodecs/issues/431)
3130RUN if [[ $(uname -m) =~ "aarch64" ]]; then \
32- export CFLAGS="-O3" && \
33- export DISABLE_NUMCODECS_SSE2=true && \
34- export DISABLE_NUMCODECS_AVX2=true && \
35- python -m pip install numcodecs; \
31+ CFLAGS="-O3" DISABLE_NUMCODECS_SSE2=true DISABLE_NUMCODECS_AVX2=true python -m pip install numcodecs; \
3632 fi
3733
3834# NGC Client
@@ -41,8 +37,6 @@ ARG NGC_CLI_URI="https://ngc.nvidia.com/downloads/ngccli_linux.zip"
4137RUN wget -q ${NGC_CLI_URI} && unzip ngccli_linux.zip && chmod u+x ngc-cli/ngc && \
4238 find ngc-cli/ -type f -exec md5sum {} + | LC_ALL=C sort | md5sum -c ngc-cli.md5 && \
4339 rm -rf ngccli_linux.zip ngc-cli.md5
44- ENV PATH =${PATH }:/ opt/ tools: / opt/ tools/ ngc- cli
45- ENV POLYGRAPHY_AUTOINSTALL_DEPS =1
4640
4741WORKDIR /opt/monai
4842
@@ -56,12 +50,38 @@ COPY monai ./monai
5650RUN python -m pip install --upgrade --no-cache-dir pip && \
5751 python -m pip install --no-cache-dir -r requirements-dev.txt
5852
53+ RUN wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb && \
54+ dpkg -i cuda-keyring_1.1-1_all.deb && \
55+ apt update && \
56+ ${APT_INSTALL} cuda-toolkit-12
57+
5958# compile ext and remove temp files
6059RUN export TORCH_CUDA_ARCH_LIST=Turing CUDA_HOME=/usr/local/cuda BUILD_MONAI=1 FORCE_CUDA=1 USE_COMPILED=1 && \
6160 python setup.py develop && \
62- rm -rf build __pycache__ monai.egg-info
61+ rm -rf build __pycache__ monai.egg-info
6362
6463# flatten all layers down to one
6564FROM ${IMAGE}
65+ LABEL maintainer =
" [email protected] " 66+
6667WORKDIR /opt/monai
6768COPY - - from= build / /
69+
70+ ENV PATH =${PATH }:/ opt/ tools: / opt/ tools/ ngc- cli
71+ ENV POLYGRAPHY_AUTOINSTALL_DEPS =1
72+ ENV CUDA_HOME =/usr/ local/ cuda
73+ ENV BUILD_MONAI =1
74+
75+ # docker run -ti --rm --gpus '"device=0,1"' --shm-size=10gb monai_slim /bin/bash
76+
77+ # PYTHONPATH=. BUILD_MONAI=1 ./runtests.sh -u 2>&1|tee tests.log
78+ # PYTHONPATH=. BUILD_MONAI=1 python -m unittest tests.networks.layers.filtering.test_trainable_bilateral
79+ # PYTHONPATH=. BUILD_MONAI=1 python -m unittest tests.apps.detection.networks.test_retinanet.TestRetinaNet.test_onnx_0
80+ # PYTHONPATH=. BUILD_MONAI=1 python -m unittest tests.integration.test_auto3dseg_hpo.TestHPO.test_run_algo
81+ # PYTHONPATH=. BUILD_MONAI=1 python -m unittest tests.integration.test_auto3dseg_hpo.TestHPO.test_get_history
82+ # PYTHONPATH=. BUILD_MONAI=1 python -m unittest tests.networks.layers.test_gmm
83+ # python -m unittest tests.apps.vista3d.test_point_based_window_inferer
84+ # python -m unittest tests.bundle.test_bundle_download.TestDownload.test_ngc_private_source_download_bundle_0
85+ # python -m unittest tests.data.meta_tensor.test_meta_tensor.TestMetaTensor.test_pickling
86+ # PYTHONPATH=. BUILD_MONAI=1 python -m unittest tests.networks.test_convert_to_onnx
87+
0 commit comments