安装指南#

目录#


MONAI 的核心功能使用 Python 3 (>= 3.9) 编写,仅需要 NumpyPytorch

该软件包目前通过 Github 作为主要源代码仓库和 Python 包索引 (PyPI) 进行分发。预构建的 Docker 镜像可在 DockerHub 上获取。

要安装可选功能,例如使用 Nibabel 处理 NIfTI 文件,或使用 Pytorch Ignite 构建工作流,请按照以下说明操作

下面的安装命令通常会安装 PyTorch 的 CPU 版本。要安装支持 GPU 的 PyTorch

  1. 安装最新的 NVIDIA 驱动程序。

  2. 查看 PyTorch 官方指南,了解推荐的 CUDA 版本。对于 Pip 包,用户需要手动下载 CUDA,将其安装到系统上,并确保正确设置了 CUDA_PATH。

  3. 继续按照指南安装 PyTorch。

  4. 使用下面描述的一种方式安装 MONAI。


从 PyPI 安装#

里程碑版本#

要安装当前的里程碑版本

pip install monai

每周预览版#

要安装每周预览版

pip install monai-weekly

每周构建版本会在每周日发布到 PyPI,带有预发布版本号 dev[%y%U]。要报告每周预览版中的任何问题,请包含版本和提交信息

python -c "import monai; print(monai.__version__); print(monai.__commit_id__)"

系统中 monaimonai-weekly 包的共存可能会导致命名空间冲突和 ImportError。这通常是由于在未先卸载现有包的情况下同时运行 pip install monaipip install monai-weekly 导致的。要解决此问题,请卸载这两个包,然后重试安装。

卸载软件包#

使用 pip install 安装的软件包可以通过以下方式移除

pip uninstall -y monai
pip uninstall -y monai-weekly

从 conda-forge 安装#

要安装当前的里程碑版本

conda install -c conda-forge monai

从 GitHub 安装#

(如果您已经使用 pip install monai 安装了 PyPI 发布版本,请在使用本节命令之前运行 pip uninstall monai。因为 pip 默认会优先选择里程碑版本。)

里程碑版本目前计划每隔几个月发布。由于代码库正在积极开发中,您可能希望从 GitHub 安装 MONAI 以获取最新功能

选项 1 (作为系统范围模块的一部分):#

pip install git+https://github.com/Project-MONAI/MONAI#egg=monai

或者,要构建带有 MONAI C++/CUDA 扩展的版本

BUILD_MONAI=1 pip install git+https://github.com/Project-MONAI/MONAI#egg=monai

要构建扩展,如果系统环境中已经安装了 PyTorch,可能更倾向于使用 --no-build-isolation

BUILD_MONAI=1 pip install --no-build-isolation git+https://github.com/Project-MONAI/MONAI#egg=monai

此命令将从 GitHub 下载并安装 MONAI 的当前 dev 分支。

此文档网站默认显示最新版本的信息。

选项 2 (可编辑安装):#

要安装 MONAI 的可编辑版本,建议直接克隆代码库

git clone https://github.com/Project-MONAI/MONAI.git

此命令将在当前目录中创建一个 MONAI/ 文件夹。您可以通过运行以下命令进行安装

cd MONAI/
python setup.py develop

或者,要构建带有 MONAI C++/CUDA 扩展并安装

cd MONAI/
BUILD_MONAI=1 python setup.py develop
# for MacOS
BUILD_MONAI=1 CC=clang CXX=clang++ python setup.py develop

要卸载此软件包,请运行

cd MONAI/
python setup.py develop --uninstall

# to further clean up the MONAI/ folder (Bash script)
./runtests.sh --clean

或者,只需将克隆的源代码的根目录(例如,/workspace/Documents/MONAI)添加到您的 $PYTHONPATH 中,代码库即可使用(不包含 MONAI C++/CUDA 扩展的附加功能)。

C++/CUDA 扩展功能目前是实验性的,预编译版本可通过最近发布的 docker 镜像获取。从源代码构建扩展可能需要 NinjaCUDA Toolkit。默认情况下,如果 torch.cuda.is_available() 为 True,则会构建 CUDA 扩展。通过设置环境变量 FORCE_CUDA=1 可以强制构建。

验证安装#

您可以通过以下方式验证安装

python -c "import monai; monai.config.print_config()"

如果安装成功,此命令将打印出 MONAI 版本信息,这确认了 MONAI 的核心模块已准备就绪,可以使用了。

MONAI 版本字符串#

MONAI 版本字符串显示您本地安装的当前状态。例如

MONAI version: 0.1.0+144.g52c763d.dirty
  • 0.1.0 表示您的安装基于 0.1.0 里程碑版本。

  • +144 表示您的安装比里程碑版本领先 144 个 git 提交。

  • g52c763d 表示您的安装对应于 git 提交哈希 52c763d

  • dirty 表示您在本地修改了代码库,并且代码库与 52c763d 不一致。

从 DockerHub 安装#

确保您已为您的 Linux 发行版安装了 NVIDIA 驱动程序和 Docker 19.03+。请注意,您无需在主机上安装 CUDA Toolkit,但需要安装驱动程序。请在 nvidia-docker 上查找更多信息。

假设您已安装 NVIDIA 驱动程序和 Docker 19.03+,运行以下命令将下载并启动一个包含最新版本 MONAI 的容器。镜像中包含了来自 GitHub 的 MONAI 最新 dev 分支。

docker run --gpus all --rm -ti --ipc=host projectmonai/monai:latest

您也可以通过指定镜像标签来运行里程碑版本的 docker 镜像,例如

docker run --gpus all --rm -ti --ipc=host projectmonai/monai:0.1.0