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..a3e6fbe3c1 --- /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/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/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/README.md b/README.md index 2ad61b5b61..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 diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000000..f723201500 --- /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 -U 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