ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

MMCV 安装完全指南:mmcv 与 mmcv-lite 的环境准备、版本匹配与 Docker 部署

MMCV 安装完全指南:mmcv 与 mmcv-lite 的环境准备、版本匹配与 Docker 部署 人工智能计算机视觉深度学习【免费下载链接】mmcvOpenMMLab Computer Vision Foundation项目地址https://gitcode.com/gh_mirrors/mm/mmcv点击查看免费下载MMCV 是 OpenMMLab 计算机视觉算法库的公共基础组件提供通用训练/推理接口、图像与视频处理工具以及大量开箱即用的 CPU/CUDA 算子。本文以仓库中的官方安装文档 docs/en/get_started/installation.md 为主体结合仓库源码系统讲解两个发行版本mmcv 完整版与 mmcv-lite 精简版的区别、使用 mim 与 pip 两种安装方式的完整步骤、预编译包与源码包的判别、与 PyTorch/CUDA 的版本匹配规则以及基于 Docker 的镜像构建方法。读完本文你将能够在任意环境中正确安装并验证 MMCV并学会在缺少预编译包时自行判断下一步该怎么做。一、先弄清两个版本mmcv 与 mmcv-liteMMCV 在 PyPI 上以两个独立的包名发布功能边界清晰mmcv完整版。包含全部特性以及丰富的 CPU/CUDA 算子开箱即用。代价是完整版可能需要在本地编译较长时间若无可用的预编译 wheel。mmcv-lite精简版。不包含 CPU/CUDA 算子但保留其余所有特性和功能形态上接近 MMCV 1.0 之前的版本。当你确定不需要任何算子时它可以作为轻量选项。安装文档对此给出了明确警告不要在同一个环境中同时安装两个版本否则可能遇到ModuleNotFound之类的错误安装其中一个之前必须卸载另一个。文档同时强调如果 CUDA 可用强烈推荐安装 mmcv。这是因为包括 NMS、ROI Align、可变形卷积等在内的大量高性能算子只存在于完整版中而它们是 OpenMMLab 系列算法如 MMDetection、MMSegmentation、MMDetection3D高效运行的基础。从源码角度可以更精确地理解这两个名字的由来setup.py 中有一行关键逻辑namemmcv if os.getenv(MMCV_WITH_OPS, 1) 1 else mmcv-lite,也就是说包名直接由环境变量MMCV_WITH_OPS决定为1默认值时构建并发布为mmcv为0时跳过算子扩展编译并发布为mmcv-lite。同时 mmcv/version.py 记录了当前仓库的版本号__version__ 2.2.0安装时可通过它核对版本。二、安装 mmcv前提检查与推荐路径1. 安装前确认 PyTorch 已就绪MMCV 依赖 PyTorch 的 C 扩展体系和张量类型安装 mmcv 之前必须确保 PyTorch 已按官方流程安装成功。官方文档给出的验证命令是python -c import torch;print(torch.__version__)如果命令输出了版本号例如1.8.1、2.1.0说明 PyTorch 可用若报错ModuleNotFoundError: No module named torch则应先回头完成 PyTorch 的安装。2. 使用 mim 安装官方推荐mim 是 OpenMMLab 系列项目的包管理工具最大的价值是它会自动探测当前环境中的 PyTorch 与 CUDA 版本并从 OpenMMLab 的预编译包索引中选择匹配的 mmcv wheel 进行安装用户无需手工拼接繁琐的-f参数。pip install -U openmim mim install mmcv安装指定版本例如 2.0.0mim install mmcv2.0.0mim 的底层逻辑是访问形如https://download.openmmlab.com/mmcv/dist/{cu版本}/{torch版本}/index.html的索引页获取该环境下可用的包列表。安装日志中两种典型的包来源可以帮你判断发生了什么使用预编译包下载的是以.whl结尾的文件例如mmcv-2.0.0-cp38-cp38-manylinux1_x86_64.whl说明当前 PyTorch/CUDA/Python 组合有现成的二进制包安装会很快。使用源码包下载的是以.tar.gz结尾的源码包如mmcv-2.0.0.tar.gz说明没有匹配的预编译包pip/mim 退回到源码构建。如果你的环境中出现了第二种日志意味着当前 PyTorch、CUDA 或 mmcv 版本没有对应的预编译产物此时应该转向源码编译具体步骤见 docs/en/get_started/build.md。3. 两个实用的安装技巧无 GUI 环境使用 headless OpenCV在最小化容器或无图形界面的服务器上可以先安装opencv-python-headless再安装 MMCV这样依赖解析阶段会自动跳过对opencv-python的安装。这一行为与 setup.py 中的逻辑对应安装脚本会先尝试import cv2若失败则从opencv-python-headless3与opencv-python3中选择当前环境已满足的那一个。指定 PyPI 镜像源当依赖库下载过慢时可显式指定镜像源mim install mmcv -i https://pypi.tuna.tsinghua.edu.cn/simple4. 安装完成后的验证运行仓库自带的安装检查脚本 .dev_scripts/check_installation.pypython .dev_scripts/check_installation.py该脚本会执行两类真实运算来验证算子扩展是否编译/安装成功源码见 .dev_scripts/check_installation.py构造两组带角度信息的旋转框张量调用mmcv.ops.box_iou_rotated在 CPU 上执行成功则输出CPU ops were compiled successfully.若torch.cuda.is_available()为真将同样的张量搬到 GPU 再执行一次成功则输出CUDA ops were compiled successfully.否则提示跳过 CUDA 检查最后通过mmcv.utils.collect_env汇总打印完整的环境信息PyTorch、CUDA、GCC、Python 等便于排查问题。如果此脚本报错可先查阅 docs/en/faq.md 中的常见问题解决方案。三、使用 pip 手工安装版本匹配规则详解当你不使用 mim 时需要自行确定与当前环境匹配的 mmcv 预编译包。官方文档给出的第一步是查看 CUDA 与 PyTorch 版本python -c import torch;print(torch.__version__);print(torch.version.cuda)例如输出1.8.1与10.2则对应的安装命令为pip install mmcv2.0.0 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html这条命令的通用模板是pip install mmcv{mmcv_version} -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html其中两个占位符的换算规则与官方文档内置的下拉选择器脚本逻辑一致cu_version把 CUDA 版本号去掉小数点并加上cu前缀例如10.2 → cu102、11.3 → cu113若是 CPU 环境或 Apple MPS 环境则统一为cpu。torch_version取 PyTorch 版本号去掉最后一位即舍去 patch 版本例如1.8.1 → torch1.8.0、1.9.0 → torch1.9.0。版本匹配的三条重要提示找不到对应版本怎么办如果在官方提供的预编译包索引中没有与你的 PyTorch、CUDA 或 mmcv 版本匹配的产物说明该组合没有预编译包此时应改为源码编译见 docs/en/get_started/build.md。PyTorch 1.x 的 patch 版本兼容性mmcv 只对1.x.0提供编译产物因为 PyTorch 的1.x.0与1.x.1之间通常保持二进制兼容。因此如果你的 PyTorch 是1.8.1可以放心选用按1.8.0编译的 mmcv通常可以正常工作。可用的版本组合仓库的 docs/en/_static/version.json 保存了官方版本矩阵的原始数据覆盖 Linux、Windows、macOS 三大平台CUDA 包括 12.1、11.8、10.2 及更低版本并包含cpu无 GPU与mpsApple Silicon两种特殊环境当前版本矩阵中 mmcv 的最新发布版本即 2.2.0与 mmcv/version.py 一致。你可以对照该文件核对自己环境是否在预编译支持范围内。同样地pip 方式下若想加速依赖下载也可以组合使用镜像源与预编译索引pip install mmcv -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html -i https://pypi.tuna.tsinghua.edu.cn/simplemmcv 的运行时依赖一览以 pip 或 mim 安装 mmcv 时会一并解析 setup.py 读取的install_requires其来源为 requirements/runtime.txtaddict、mmengine0.3.0、numpy、packaging、Pillow、pyyaml以及 Windows 平台专用的regex与yapf此外如前所述还会按环境在opencv-python-headless3与opencv-python3二选一。了解这些依赖有助于在离线或受限网络环境下提前准备。仓库还提供了all、tests、build、optional四组扩展依赖见 setup.py其中optional包含ninja与psutil见 requirements/optional.txt它们在源码编译阶段用于加速构建这也是源码编译文档要求先安装该文件的原因。四、使用 Docker 安装 mmcv1. 基于 release Dockerfile 构建官方推荐两种构建方式一是先把仓库克隆到本地再构建git clone https://github.com/open-mmlab/mmcv.git cd mmcv docker build -t mmcv -f docker/release/Dockerfile .二是直接基于远程仓库的docker/release目录构建无需本地克隆docker build -t mmcv https://github.com/open-mmlab/mmcv.git#main:docker/release2. 通过 build-arg 定制版本查看仓库中的 docker/release/Dockerfile 可知该镜像支持四个构建参数均有默认值参数默认值说明PYTORCH1.8.1基础镜像的 PyTorch 版本CUDA10.2CUDA 版本CUDNN7cuDNN 版本MMCV空为空时安装最新发布版mmcv2.0.0rc1否则安装指定版本默认构建会安装最新发布版 mmcv要安装指定版本例如 2.0.0docker image build -t mmcv -f docker/release/Dockerfile --build-arg MMCV2.0.0 .如需同时定制 PyTorch 与 CUDA例如使用 PyTorch 1.11 CUDA 11.3 cuDNN 8 构建 2.0.0 版本docker build -t mmcv -f docker/release/Dockerfile \ --build-arg PYTORCH1.11.0 \ --build-arg CUDA11.3 \ --build-arg CUDNN8 \ --build-arg MMCV2.0.0 .Dockerfile 的构建逻辑值得注意docker/release/Dockerfile它以pytorch/pytorch:${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel为基础镜像先通过 apt 安装 OpenCV 所需的系统库libgl1与libglib2.0-0随后使用pip install -U openmim mim install mmcv${MMCV}完成安装MMCV为空时安装mmcv2.0.0rc1最后执行python -c import mmcv;print(mmcv.__version__)在镜像内自动验证安装结果。这也印证了 mim 在 OpenMMLab 安装链路中的核心地位。3. 开发者模式镜像供参考仓库还提供了一份面向开发者的 docker/dev/Dockerfile其差异在于从源码克隆仓库并git checkout 2.x以pip install -e .[all] -v的可编辑模式安装并通过FORCE_CUDA1、TORCH_CUDA_ARCH_LIST等环境变量控制 CUDA 编译行为。一般使用场景无需此镜像但它展示了源码构建在 Docker 环境中的典型组合方式。五、安装 mmcv-lite一行命令如果你只需要 MMCV 的基础工具如图像/视频处理、CNN 组件、通用训练接口不需要任何 CPU/CUDA 算子可以安装精简版pip install mmcv-lite同样地若你的程序会用到与 PyTorch 相关的模块请先确保 PyTorch 已成功安装。需要注意mmcv-lite 与 mmcv 是两个独立包不要在同一个环境中混装。六、总结如何选择安装路径结合官方文档与仓库源码可归纳出如下决策流程确认 PyTorch 已安装python -c import torch;print(torch.__version__)若 CUDA 可用且需要高性能算子选择mmcv完整版否则可选mmcv-lite优先使用mim install mmcv由工具自动匹配预编译包需要固定版本时用mim install mmcvx.y.z若日志显示下载的是.tar.gz源码包即无匹配预编译包转至 docs/en/get_started/build.md 按平台源码编译安装完成后运行 .dev_scripts/check_installation.py 验证 CPU/CUDA 算子是否可用出错时查阅 docs/en/faq.md在容器化部署场景下使用 docker/release/Dockerfile 并通过PYTORCH、CUDA、CUDNN、MMCV四个 build-arg 锁定镜像版本。赞分享人工智能计算机视觉深度学习【免费下载链接】mmcvOpenMMLab Computer Vision Foundation项目地址https://gitcode.com/gh_mirrors/mm/mmcv点击查看免费下载相关推荐MMCV 版本演进与兼容性指南从 2.0 迁移、mmcv-lite 安装到多设备算子注册架构MMCV 版本演进与兼容性指南从 2.0 迁移、mmcv lite 安装到多设备算子注册架构 MMCVOpenMMLab Computer Vision F人工智能计算机视觉深度学习2025 最新指南MMCV 安装与环境配置完全手册2025 最新指南MMCV 安装与环境配置完全手册 前言为什么需要这份安装指南 你是否曾在安装 MMCV OpenMMLab Computer Visio人工智能计算机视觉深度学习MMCV 旧版 PyTorch 预编译包安装指南PyTorch 1.3/1.4 环境下 mmcv-full 的获取与兼容性说明MMCV 旧版 PyTorch 预编译包安装指南PyTorch 1.3/1.4 环境下 mmcv full 的获取与兼容性说明 导读 本文面向需要在较老 Py人工智能计算机视觉深度学习上一篇探索高效社区检测Python-Louvain 模块下一篇shadcn-chat Vercel AI构建实时AI对话应用的完整教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表