安装指南#

目录#


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

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

要安装可选功能(例如使用 Nibabel 处理 NIfTI 文件,或使用 Pytorch Ignite 构建工作流),请遵循相关说明。

下面的安装命令通常会安装 CPU 版本的 PyTorch。若要安装支持 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__)"

系统中 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

或者,使用 MONAI C++/CUDA 扩展进行构建:

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

若要构建扩展,如果系统环境中已经安装了 PyTorch,建议使用 --no-build-isolation

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

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

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

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

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

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

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

cd MONAI/
pip install -e .

或者,使用 MONAI C++/CUDA 扩展进行构建并安装:

cd MONAI/
BUILD_MONAI=1 pip install -e .
# for MacOS
BUILD_MONAI=1 CC=clang CXX=clang++ pip install -e .

要卸载该软件包,请运行:

cd MONAI/
pip uninstall -y monai

# 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() 为真,则会构建 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 工具包,但必须安装驱动程序。请在 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