You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

13 KiB

安装 MMCV

MMCV 有两个版本:

  • mmcv-full: 完整版,包含所有的特性以及丰富的开箱即用的 CPU 和 CUDA 算子。注意,完整版本可能需要更长时间来编译。
  • mmcv: 精简版,不包含 CPU 和 CUDA 算子但包含其余所有特性和功能,类似 MMCV 1.0 之前的版本。如果你不需要使用算子的话,精简版可以作为一个考虑选项。
请不要在同一个环境中安装两个版本,否则可能会遇到类似 `ModuleNotFound` 的错误。在安装一个版本之前,需要先卸载另一个。`如果CUDA可用,强烈推荐安装mmcv-full`。

安装 mmcv-full

- 如需编译 ONNX Runtime 自定义算子,请参考[如何编译ONNX Runtime自定义算子](../deployment/onnxruntime_op.md#如何编译onnx-runtime自定义算子)
- 如需编译 TensorRT 自定义,请参考[如何编译MMCV中的TensorRT插件](../deployment/tensorrt_plugin.md#如何编译mmcv中的tensorrt插件)

在安装 mmcv-full 之前,请确保 PyTorch 已经成功安装在环境中,可以参考 PyTorch 官方安装文档。可使用以下命令验证

python -c 'import torch;print(torch.__version__)'

如果输出版本信息,则表示 PyTorch 已安装。

使用 mim 安装(推荐)

mim 是 OpenMMLab 项目的包管理工具,使用它可以很方便地安装 mmcv-full。

pip install -U openmim
mim install mmcv-full

如果发现上述的安装命令没有使用预编译包(以 .whl 结尾)而是使用源码包(以 .tar.gz 结尾)安装,则有可能是我们没有提供和当前环境的 PyTorch 版本、CUDA 版本相匹配的 mmcv-full 预编译包,此时,你可以源码安装 mmcv-full

使用预编译包的安装日志

Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
Collecting mmcv-full
Downloading https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/mmcv_full-1.6.1-cp38-cp38-manylinux1_x86_64.whl

使用源码包的安装日志

Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
Collecting mmcv-full==1.6.0
Downloading mmcv-full-1.6.0.tar.gz

如需安装指定版本的 mmcv-full,例如安装 1.7.0 版本的 mmcv-full,可使用以下命令

mim install mmcv-full==1.7.0

:::{note} 如果你打算使用 opencv-python-headless 而不是 opencv-python,例如在一个很小的容器环境或者没有图形用户界面的服务器中,你可以先安装 opencv-python-headless,这样在安装 mmcv 依赖的过程中会跳过 opencv-python

另外,如果安装依赖库的时间过长,可以指定 pypi 源

mim install mmcv-full -i https://pypi.tuna.tsinghua.edu.cn/simple

:::

安装完成后可以运行 check_installation.py 脚本检查 mmcv-full 是否安装成功。

使用 pip 安装

使用以下命令查看 CUDA 和 PyTorch 的版本

python -c 'import torch;print(torch.__version__);print(torch.version.cuda)'

根据系统的类型、CUDA 版本、PyTorch 版本以及 MMCV 版本选择相应的安装命令

<html>



</html>

如果在上面的下拉框中没有找到对应的版本,则可能是没有对应 PyTorch 或者 CUDA 或者 mmcv-full 版本的预编译包,此时,你可以源码安装 mmcv-full

:::{note} PyTorch 在 1.x.0 和 1.x.1 之间通常是兼容的,故 mmcv-full 只提供 1.x.0 的编译包。如果你 的 PyTorch 版本是 1.x.1,你可以放心地安装在 1.x.0 版本编译的 mmcv-full。例如,如果你的 PyTorch 版本是 1.8.1,你可以放心选择 1.8.x。 :::

:::{note} 如果你打算使用 opencv-python-headless 而不是 opencv-python,例如在一个很小的容器环境或者没有图形用户界面的服务器中,你可以先安装 opencv-python-headless,这样在安装 mmcv 依赖的过程中会跳过 opencv-python

另外,如果安装依赖库的时间过长,可以指定 pypi 源

pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html -i https://pypi.tuna.tsinghua.edu.cn/simple

:::

安装完成后可以运行 check_installation.py 脚本检查 mmcv-full 是否安装成功。

使用 docker 镜像

先将算法库克隆到本地再构建镜像

git clone https://github.com/open-mmlab/mmcv.git && cd mmcv
docker build -t mmcv -f docker/release/Dockerfile .

也可以直接使用下面的命令构建镜像

docker build -t mmcv https://github.com/open-mmlab/mmcv.git#master:docker/release

Dockerfile 默认安装最新的 mmcv-full,如果你想要指定版本,可以使用下面的命令

docker image build -t mmcv -f docker/release/Dockerfile --build-arg MMCV=1.5.0 .

如果你想要使用其他版本的 PyTorch 和 CUDA,你可以在构建镜像时指定它们的版本。

例如指定 PyTorch 的版本是 1.11,CUDA 的版本是 11.3

docker build -t mmcv -f docker/release/Dockerfile \
    --build-arg PYTORCH=1.11.0 \
    --build-arg CUDA=11.3 \
    --build-arg CUDNN=8 \
    --build-arg MMCV=1.5.0 .

更多 PyTorch 和 CUDA 镜像可以点击 dockerhub/pytorch 查看。

安装 mmcv

如果你需要使用和 PyTorch 相关的模块,请确保 PyTorch 已经成功安装在环境中,可以参考 PyTorch 官方安装文档

pip install mmcv