就是troch与mmcv版本匹配问题,假如你的CUDA的版本是11.8及以下,可以按照我的安装顺序来下载包
我是linux系统
方法一:
打开文件 /data/miniconda3/envs/xxx/lib/python3.10/site-packages/mmseg/init.py, 找到下面这段代码删除或者注释掉
assert (mmcv_min_version <= mmcv_version < mmcv_max_version),
f’MMCV=={mmcv.version} is used but incompatible. ’
f’Please install mmcv>=2.0.0rc4.’
方法二:安装torch torchvision trochaudio
torch版本:2.3.0+cu118
CUDA版本:11.8
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
安装mmcv
pip install mmcv==2.0.0rc4 -f https://download.openmmlab.com/mmcv/dist/cu118/torch2.3.0/index.html -i https://pypi.tuna.tsinghua.edu.cn/simple
建议先安装以上的包,然后再下载其他需要的包
在运行的时候可能会报错,例如:
代码含有这个语句:from mmseg.utils import get_root_logger
就会报错在’init.py‘中找不到引用get_root_logger
代码含有这个语句:from mmcv.runner import load_checkpoint
等等,都会报错找不到这个引用,这其实还是版本问题,新的版本把以前的一些函数删除了或者是改变的存放的位置。有个博主给出了一个解决方法,可以参考一下。
一般是报需要哪个版本就下哪个版本。以上在安装的时候都开了梯子,感觉速度会快一点,我在安装的时候没加镜像的时候就卡在build,其实我是系统里已经添加了镜像但还是卡我就直接加在pip后了。
假如以上方法都不行,建议把python版本降低一点。
给几个可能用得上的语句(在终端使用)
查看CUDA version : nvidia-smi
查看torch version和CUDA version: python -c ‘import torch;print(torch.__version __);print(torch.version.cuda)’ 这里的下划线可能有空格,注意删除一下。