ascend-mmcv-install 是一个面向昇腾NPU环境的安装类技能,用于在容器中从源码编译安装带NPU算子支持的 mmcv-full(mmcv 1.x 分支)。它适合作为需要以 mmcv 为依赖的其他 OpenMMLab 库安装前的前置步骤。
主要能力:在昇腾NPU容器中完成 mmcv-full 的编译与安装,并通过设置 MMCV_WITH_OPS=1 与 FORCE_NPU=1 启用 NPU 算子与 NPU 后端;提供安装后的导入版本验证与 CUDA 依赖检查。
使用方式按文档步骤执行:首先激活目标 conda 环境并安装前置三方库依赖,文档建议根据目标 PyTorch 版本选择对应 requirements 文件(例如 requirements.txt、requirements_pytorch2.6.0.txt、requirements_pytorch2.7.1.txt 等,路径指向 DrivingSDK/model_examples/BEVFormer 下)。随后确认 conda 环境名称,克隆 mmcv 仓库(git clone -b 1.x https://github.com/open-mmlab/mmcv.git);网络受限时可配置代理或本地克隆后 scp 传输,文档强调始终使用 GitHub 官方链接。接着将 DrivingSDK 中的 mmcv_config.patch 复制到 mmcv 目录并执行 git apply --reject。之后安装 requirements/runtime.txt 依赖与 ninja。编译阶段使用 MMCV_WITH_OPS=1 MAX_JOBS=8 FORCE_NPU=1 python setup.py build_ext 与 MMCV_WITH_OPS=1 FORCE_NPU=1 python setup.py develop。最后通过 python -c "import mmcv; print(mmcv.version)" 验证,并用 site.getsitepackages() 检查输出无 CUDA 相关路径。
适用场景:昇腾NPU容器内需要 mmcv NPU 算子支持的 OpenMMLab 相关项目安装准备。
前置条件:容器已安装 Ascend CANN 与 torch_npu;工作目录已挂载(如 /home/zqq)。
限制与说明:文档提及 numpy 版本冲突时可尝试 pip install numpy==1.23.5;编译超时可增大 MAX_JOBS;patch 失败可手动处理或跳过非关键 patch。具体环境名称、网络条件与 patch 路径需向使用者确认。其他功能、收费与平台支持情况暂未提供。