news 2026/9/3 1:03:49

MMCV版本不兼容AssertionError: MMCV==2.1.0 is used but incompatible. Please install mmcv>=2.0.0rc4.

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MMCV版本不兼容AssertionError: MMCV==2.1.0 is used but incompatible. Please install mmcv>=2.0.0rc4.

在运行MMsegmentation的训练脚本时,遇到了MMCV版本不兼容的断言错误,核心原因是:MMsegmentation必须依赖编译版的mmcv-full,而非纯Python版的mmcv,当前安装的MMCV==2.1.0大概率是普通版,或是版本与mmsegmentation/mmengine的适配性不匹配(即便版本号满足>=2.0.0rc4,非full版也会触发该错误)。

下面给出Windows环境(MINGW64/CMD/PowerShell通用)的完整解决步骤,从卸载冲突包到安装适配的依赖,一步到位解决问题。

步骤1:卸载现有冲突的mmcv/mmcv-full

首先卸载当前的mmcv(无论是不是full版),避免版本冲突,在终端执行:

pip uninstall -y mmcv mmcv-full

-y表示直接确认卸载,无需手动输入y。

步骤2:安装适配的mmcv-full(核心步骤)

mmcv-full的安装必须匹配你的PyTorch版本和CUDA版本(CPU版直接装cpu版即可),这是OpenMMLab系列库的核心要求,新手如果没有配置GPU环境,直接装CPU版即可。

先确认你的PyTorch+CUDA版本(关键)

在Python终端执行以下代码,查看当前环境的PyTorch和CUDA版本:

importtorchprint(torch.__version__)# 输出PyTorch版本,如2.0.1print(torch.version.cuda)# 输出CUDA版本,CPU版会显示None,GPU版如11.7
  • 如果torch.version.cuda显示None→ 你是CPU版PyTorch,直接装CPU版mmcv-full;
  • 如果显示具体版本(如11.7/12.1) → 你是GPU版PyTorch,装对应CUDA版本的mmcv-full。
安装mmcv-full(分CPU/GPU版)

OpenMMLab提供了官方的mmcv-full安装命令生成工具,也可以直接用以下通用命令,替换对应版本即可(推荐用清华源加速,避免下载超时)。

情况1:CPU版PyTorch(新手最常见,无GPU)

直接执行以下命令,安装适配PyTorch2.0+的CPU版mmcv-full(适配mmsegmentation主分支):

pipinstallmmcv-full -f https://download.openmmlab.com/mmcv/dist/cpu/torch2.0.0/index.html -i https://pypi.tuna.tsinghua.edu.cn/simple

如果你的PyTorch是1.13.x,把命令中的torch2.0.0换成torch1.13.0即可。

情况2:GPU版PyTorch(有CUDA环境)

PyTorch2.0.1 + CUDA11.7为例(最常用),执行:

pipinstallmmcv-full -f https://download.openmmlab.com/mmcv/dist/cu117/torch2.0.0/index.html -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 若CUDA是11.8,把cu117换成cu118
  • 若PyTorch是1.12.1,把torch2.0.0换成torch1.12.0
  • 其他版本组合,参考MMCV官方安装文档。

步骤3:检查并升级mmengine(确保版本适配)

mmsegmentation主分支对mmengine有版本要求,需确保其为最新适配版,执行升级命令:

pipinstall-U mmengine -i https://pypi.tuna.tsinghua.edu.cn/simple

-U表示升级到最新版。

步骤4:验证依赖安装是否正确

在Python终端执行以下代码,验证mmcv-full是否安装成功,且版本适配:

importmmcvprint(mmcv.__version__)# 输出mmcv-full版本,如2.0.1importmmengineprint(mmengine.__version__)# 输出mmengine版本,如0.10.0

无报错即表示安装成功。

步骤5:重新运行训练命令

回到你的mmsegmentation目录,重新执行训练脚本:

python tools/train.py configs/segformer/segformer_mit-b0_512x512_160k_ade20k.py --work-dir work_dirs/segformer_exp

此时不会再触发MMCV版本不兼容的AssertionError,若有新的警告(如TorchScript的DeprecationWarning),可忽略(不影响训练)。

额外注意:避免环境混淆

如果你的电脑有多个Python环境,需确保MINGW64中使用的python/pip是你安装了PyTorch/mmcv-full的环境:

  • 可通过which python(MINGW64)或where python(CMD)查看当前python路径;
  • 若pip和python不匹配,用python -m pip代替pip执行所有命令(如python -m pip install mmcv-full),确保依赖装到当前python环境。

总结

  1. 本次报错的核心不是MMCV版本号不够,而是安装了普通版mmcv,而非mmsegmentation必需的mmcv-full
  2. 安装mmcv-full的关键是匹配PyTorch和CUDA版本,CPU版直接装对应torch版本的cpu版即可;
  3. python -m pip代替pip可避免多环境下的依赖安装路径错误,新手优先使用;
  4. 清华源-i https://pypi.tuna.tsinghua.edu.cn/simple能大幅提升下载速度,避免超时失败。

按上述步骤操作后,即可正常启动SegFormer的训练流程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 21:24:42

[Java EE 进阶] SpringBoot 快速入门

一.快速配置 1.配置信息 此处使用专业版 IDEA 2.实现一个简单项目 2.1 代码 ① 启动类代码 package com.boop.springmvc01;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplicat…

作者头像 李华
网站建设 2026/9/2 12:39:29

制定有效 AI 实施策略的 5 个技巧

从自动化行政工作、个性化学习体验,到开展复杂的绩效分析,人工智能几乎无所不能。但与此同时,如果你的企业没有制定完善的落地实施计划,最终效果很可能会低于预期。事实上,许多企业在人工智能项目上的投资回报率&#…

作者头像 李华
网站建设 2026/8/26 3:06:51

个人云盘|基于springboot个人云盘系统(源码+数据库+文档)

个人云盘 目录 基于springboot vue个人云盘系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue个人云盘系统 一、前言 博主介绍:✌️大…

作者头像 李华
网站建设 2026/9/2 21:23:48

百考通AI期刊论文生成:让学术写作,从“精准匹配”开始

在学术研究的征途上,期刊论文撰写是每一位研究者必须跨越的关键关卡。然而,面对“期刊要求模糊、内容逻辑混乱、格式反复修改”等痛点,无数学者、硕博士生与科研人员常常陷入“写论文比做研究更耗时”的困境——既要精准匹配目标期刊的规范&a…

作者头像 李华