一、问题:
AssertionError: MMCV==2.2.0 is used but incompatible. Please install mmcv>=2.0.0rc4.
二、踩坑
刚开始尝试了很多方法,比如下载mmcv-full,但是这个库最高更新到1.7.2,下载之后显示mmcv的版本变成了1.7.2.最终原因大概是因为在 MMCV2.x 中,将 mmcv-full 重命名为 mmcv,将 mmcv 重名为 mmcv-lite。所以好像是一样的?
还有在GitHub上下载mmcv的安装包,手动安装mmcv,一样更新到了最高版mmcv2.2.0,报错+n
直接pip install mmcv=2.0.0rc4,还是报错......
三、解决
主要是mmcv版本不匹配
- 查看cuda版本号:nvcc -V(V要大写)(踩坑:刚开始使用nvidia -smi查看的,结果显示cuda12.4,但是mmcv官网并没有cuda12.4的匹配版本,于是开始了install 和 uninstall的循环...)
- torch版本在requirements.txt文件中查看,我的是torch2.1.2
- mmcv官网的匹配文件:https://mmcv.readthedocs.io/en/latest/get_started/installation.html
- 复制下面的pip 指令,我的是
pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.1/index.html
包冲突真的令人头大,还好最后解决了,标记一下(手动撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。)
2024.12.16更
后来在复现其他代码时又重新下载了mmcv 和mmsegmentation,但是使用上面的方法不奏效
改进:
1. 根据torch的版本修改了torchvision的版本,但是仍然不奏效
2.修改python3.10/site-packages/mmseg/_ _init_ _.py文件
MMCV _ MIN == '2.0.0'
MMCV _ MAX == '2.2.1'
不再报错~