From 233e9f6be5c33a4baad327d5ca46a3594d0258a4 Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Thu, 19 Mar 2020 09:38:32 -0400 Subject: [PATCH 1/5] init. docker --- .gitignore | 2 +- Dockerfile | 35 +++++++++++++++++++++++++++++++++++ examples/README.md | 9 +++++++++ requirements.txt | 8 ++++---- 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 Dockerfile create mode 100644 examples/README.md diff --git a/.gitignore b/.gitignore index 2c3face445..f915537ab0 100644 --- a/.gitignore +++ b/.gitignore @@ -103,7 +103,7 @@ venv.bak/ # mypy .mypy_cache/ examples/scd_lvsegs.npz -.temp/ +temp/ .idea/ *~ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..375ae14e90 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,35 @@ +# Copyright 2020 MONAI Consortium +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG PYTORCH_IMAGE=nvcr.io/nvidia/pytorch:19.10-py3 + +FROM ${PYTORCH_IMAGE} as base +RUN apt-get update + +WORKDIR /opt/monai +COPY . . + +ENV PYTHONPATH=$PYTHONPATH:/opt/monai +ENV PATH=/opt/monai/tools:$PATH + +RUN python -m pip install -U pip +# remove preintalls +RUN python -m pip uninstall -y torch torchvision +# install dependencies +RUN python -m pip install -r requirements.txt + + +# NGC Client +WORKDIR /opt/monai/tools +RUN wget -q https://ngc.nvidia.com/downloads/ngccli_cat_linux.zip && \ + unzip ngccli_cat_linux.zip && chmod u+x ngc && \ + rm -rf ngccli_cat_linux.zip ngc.md5 +WORKDIR /opt/monai diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000000..4f37a4b2a2 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,9 @@ +Most of the examples and tutorials require +[matplotlib](https://matplotlib.org/) and [Jupyter Notebook](https://jupyter.org/). + +These could be installed by: +```bash +python -m pip install -U pip +python -m pip install -U matplotlib +python -m pip install notebook +``` diff --git a/requirements.txt b/requirements.txt index 91985396c3..e2d77f173d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,10 +1,10 @@ torch>=1.4 pytorch-ignite==0.3.0 numpy -jupyter +nibabel +tensorboard pillow +scipy +scikit-image coverage -nibabel parameterized -tensorboard -scipy \ No newline at end of file From 6e721fbf05facb5b83a468693d2a817f9fea4443 Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Thu, 19 Mar 2020 14:01:48 +0000 Subject: [PATCH 2/5] fixes #188; fixes #190 -update README --- README.md | 2 ++ examples/README.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fc9c31f87..6769c45310 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ Tutorials & examples are located at [monai/examples](https://github.com/Project- Technical documentation is available via [Read the Docs](https://monai.readthedocs.io/en/latest/). +Pre-built Docker image is available via [DockerHub](https://hub.docker.com/repository/docker/projectmonai/monai/). + ## Contributing For guidance on making a contribution to MONAI, see the [contributing guidelines](https://github.com/Project-MONAI/MONAI/blob/master/CONTRIBUTING.md). diff --git a/examples/README.md b/examples/README.md index 4f37a4b2a2..f723201500 100644 --- a/examples/README.md +++ b/examples/README.md @@ -5,5 +5,5 @@ These could be installed by: ```bash python -m pip install -U pip python -m pip install -U matplotlib -python -m pip install notebook +python -m pip install -U notebook ``` From 270ac7b9ccc9e1739d990f212888f1b85cf19887 Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Thu, 19 Mar 2020 15:05:47 +0000 Subject: [PATCH 3/5] tested docker image building --- Dockerfile | 4 ++-- README.md | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 375ae14e90..a3e6fbe3c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,7 +18,7 @@ WORKDIR /opt/monai COPY . . ENV PYTHONPATH=$PYTHONPATH:/opt/monai -ENV PATH=/opt/monai/tools:$PATH +ENV PATH=/opt/tools:$PATH RUN python -m pip install -U pip # remove preintalls @@ -28,7 +28,7 @@ RUN python -m pip install -r requirements.txt # NGC Client -WORKDIR /opt/monai/tools +WORKDIR /opt/tools RUN wget -q https://ngc.nvidia.com/downloads/ngccli_cat_linux.zip && \ unzip ngccli_cat_linux.zip && chmod u+x ngc && \ rm -rf ngccli_cat_linux.zip ngc.md5 diff --git a/README.md b/README.md index 6769c45310..6b368a6af0 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,11 @@ Tutorials & examples are located at [monai/examples](https://github.com/Project- Technical documentation is available via [Read the Docs](https://monai.readthedocs.io/en/latest/). -Pre-built Docker image is available via [DockerHub](https://hub.docker.com/repository/docker/projectmonai/monai/). +Pre-built Docker image is available via [DockerHub](https://hub.docker.com/repository/docker/projectmonai/monai/): +```batch +# with docker v19.03+ +docker run --gpus all --rm -ti --ipc=host projectmonai/monai:latest +``` ## Contributing For guidance on making a contribution to MONAI, see the [contributing guidelines](https://github.com/Project-MONAI/MONAI/blob/master/CONTRIBUTING.md). From bc268d6b9789afbf4853354392998406e7d88b37 Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Thu, 19 Mar 2020 15:21:59 +0000 Subject: [PATCH 4/5] fixes urls --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b368a6af0..103150b1ab 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Tutorials & examples are located at [monai/examples](https://github.com/Project- Technical documentation is available via [Read the Docs](https://monai.readthedocs.io/en/latest/). -Pre-built Docker image is available via [DockerHub](https://hub.docker.com/repository/docker/projectmonai/monai/): +Pre-built Docker image is available via [DockerHub](https://hub.docker.com/r/projectmonai/monai): ```batch # with docker v19.03+ docker run --gpus all --rm -ti --ipc=host projectmonai/monai:latest From 06b9015d02c3e4b577ab519f1cbb66b46d88879f Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Thu, 19 Mar 2020 22:02:09 +0000 Subject: [PATCH 5/5] update readme --- README.md | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 0eb500bcac..413321bb0d 100644 --- a/README.md +++ b/README.md @@ -20,14 +20,17 @@ MONAI is a [PyTorch](https://pytorch.org/)-based, [open-source](https://github.c - multi-GPU data parallelism support. ## Installation -Clone and build this repository from source - -```bash -git clone https://github.com/Project-MONAI/MONAI.git -pip install -e MONAI/ -``` - -Run some of the examples in [Getting Started](##getting-started) +Clone and build this repository from source: + ```bash + git clone https://github.com/Project-MONAI/MONAI.git + pip install -e MONAI/ + ``` + +Alternatively, pre-built Docker image is available via [DockerHub](https://hub.docker.com/r/projectmonai/monai): + ```bash + # with docker v19.03+ + docker run --gpus all --rm -ti --ipc=host projectmonai/monai:latest + ``` ## Getting Started @@ -35,12 +38,6 @@ Tutorials & examples are located at [monai/examples](https://github.com/Project- Technical documentation is available via [Read the Docs](https://monai.readthedocs.io/en/latest/). -Pre-built Docker image is available via [DockerHub](https://hub.docker.com/r/projectmonai/monai): -```batch -# with docker v19.03+ -docker run --gpus all --rm -ti --ipc=host projectmonai/monai:latest -``` - ## Contributing For guidance on making a contribution to MONAI, see the [contributing guidelines](https://github.com/Project-MONAI/MONAI/blob/master/CONTRIBUTING.md).