mmcv低版本报错大全
本来是想跑某实验的。
(带有本人强烈怨念的主观色彩)但是我又要开始吐槽了:这什么程序啊?为什么24年的工作居然是22年写的,所以转投不知道多少次了才中。
话说回来,这**的CSDN,有时候会折叠,我不知道我写的东西会不会它折叠了。所以此处放上自己blog的链接,相同内容。mmcv低版本报错大全
然后就是神奇的配置:cuda版本居然是101,哥们不是……
这导致配套的使用的mmcv,mmseg等库也是上古时代的版本了。我的cuda版本也不是很新,也就是117,我试了两天,还是無理です。
mmcv=1.3.0,mmseg=0.11.0
而现在的版本都mmcv=2.2.0,mmseg=1.2.2.
大版本号都改了啊喂,里面很多东西都移除了。
我改了两天,报了无数的错误,实在是苦手……
(CC) wyl@aa-ESC4000:~/expr_SS/FoodSAM-main$ python FoodSAM/semantic.py --img_path /home/wyl/expr_OD/餐盘/001.jpeg --output /home/wyl/expr_OD/exm_FoodSAM.jpg
Create Logger success in /home/wyl/expr_OD/exm_FoodSAM.jpg/sam_process.log
[2025-05-09 11:26:35,923] [semantic.py:270] [INFO] running sam!
[2025-05-09 11:26:48,313] [semantic.py:288] [INFO] Processing '/home/wyl/expr_OD/餐盘/001.jpeg'...
[ WARN:0@21.613] global loadsave.cpp:848 imwrite_ Unsupported depth image for selected encoder is fallbacked to CV_8U.
[2025-05-09 11:26:54,691] [semantic.py:301] [INFO] sam done![2025-05-09 11:26:54,691] [semantic.py:304] [INFO] running semantic seg model!
/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/builder.py:41: UserWarning: train_cfg and test_cfg is deprecated, please specify them in modelwarnings.warn(
Traceback (most recent call last):File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/utils/registry.py", line 69, in build_from_cfgreturn obj_cls(**args)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/segmentors/encoder_decoder.py", line 36, in __init__self.backbone = builder.build_backbone(backbone)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/builder.py", line 20, in build_backbonereturn BACKBONES.build(cfg)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/utils/registry.py", line 237, in buildreturn self.build_func(*args, **kwargs, registry=self)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/cnn/builder.py", line 27, in build_model_from_cfgreturn build_from_cfg(cfg, registry, default_args)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/utils/registry.py", line 61, in build_from_cfgraise KeyError(
KeyError: 'VIT_MLA is not in the models registry'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/semantic.py", line 323, in <module>main(args)File "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/semantic.py", line 305, in mainsemantic_predict(args.data_root, args.img_dir, args.ann_dir, args.semantic_config, args.options, args.aug_test, args.semantic_checkpoint, args.eval_options, args.output, args.color_list_path, args.img_path)File "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/FoodSAM_tools/predict_semantic_mask.py", line 253, in semantic_predictmodel = init_segmentor(config, checkpoint)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/apis/inference.py", line 32, in init_segmentormodel = build_segmentor(config.model, test_cfg=config.get('test_cfg'))File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/builder.py", line 48, in build_segmentorreturn SEGMENTORS.build(File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/utils/registry.py", line 237, in buildreturn self.build_func(*args, **kwargs, registry=self)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/cnn/builder.py", line 27, in build_model_from_cfgreturn build_from_cfg(cfg, registry, default_args)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/utils/registry.py", line 72, in build_from_cfgraise type(e)(f'{obj_cls.__name__}: {e}')
KeyError: "EncoderDecoder: 'VIT_MLA is not in the models registry'"
这个是无法处理的。
(CC) wyl@aa-ESC4000:~/expr_SS/FoodSAM-main$ python FoodSAM/semantic.py --img_path /home/wyl/expr_OD/餐盘/001.jpeg --output /home/wyl/expr_OD/exm_FoodSAM.jpg
/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/cnn/bricks/transformer.py:33: UserWarning: Fail to import ``MultiScaleDeformableAttention`` from ``mmcv.ops.multi_scale_deform_attn``, You should install ``mmcv-full`` if you need this module. warnings.warn('Fail to import ``MultiScaleDeformableAttention`` from '
Traceback (most recent call last):File "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/semantic.py", line 16, in <module>from FoodSAM_tools.predict_semantic_mask import semantic_predictFile "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/FoodSAM_tools/predict_semantic_mask.py", line 14, in <module>from mmseg.apis import inference_segmentor, init_segmentorFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/apis/__init__.py", line 2, in <module>from .inference import inference_segmentor, init_segmentor, show_result_pyplotFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/apis/inference.py", line 9, in <module>from mmseg.models import build_segmentorFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/__init__.py", line 2, in <module>from .backbones import * # noqa: F401,F403File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/backbones/__init__.py", line 7, in <module>from .fast_scnn import FastSCNNFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/backbones/fast_scnn.py", line 7, in <module>from mmseg.models.decode_heads.psp_head import PPMFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/decode_heads/__init__.py", line 2, in <module>from .ann_head import ANNHeadFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/decode_heads/ann_head.py", line 8, in <module>from .decode_head import BaseDecodeHeadFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/decode_heads/decode_head.py", line 12, in <module>from ..losses import accuracyFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/losses/__init__.py", line 6, in <module>from .focal_loss import FocalLossFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/models/losses/focal_loss.py", line 6, in <module>from mmcv.ops import sigmoid_focal_loss as _sigmoid_focal_lossFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/ops/__init__.py", line 2, in <module>from .active_rotated_filter import active_rotated_filterFile "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/ops/active_rotated_filter.py", line 10, in <module>ext_module = ext_loader.load_ext(File "/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmcv/utils/ext_loader.py", line 13, in load_extext = importlib.import_module('mmcv.' + name)File "/home/wyl/anaconda3/envs/CC/lib/python3.9/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'mmcv._ext'
这个要重装mmcv-full。
(CC) wyl@aa-ESC4000:~/expr_SS/FoodSAM-main$ python FoodSAM/semantic.py --img_path /home/wyl/expr_OD/餐盘/001.jpeg --output /home/wyl/expr_OD/exm_FoodSAM.jpg
Traceback (most recent call last):File "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/semantic.py", line 16, in <module>from FoodSAM_tools.predict_semantic_mask import semantic_predictFile "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/FoodSAM_tools/predict_semantic_mask.py", line 17, in <module>from mmseg.datasets import build_dataloader, build_dataset
ImportError: cannot import name 'build_dataloader' from 'mmseg.datasets' (/home/wyl/anaconda3/envs/CC/lib/python3.9/site-packages/mmseg/datasets/__init__.py)
这个是因为build_dataloader
从新的版本中移除了,请注意是移除了而不是换地方放了。
(CC) wyl@aa-ESC4000:~/expr_SS/FoodSAM-main$ python FoodSAM/semantic.py --img_path /home/wyl/expr_OD/餐盘/001.jpeg --output /home/wyl/expr_OD/exm_FoodSAM.jpg
Traceback (most recent call last):File "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/semantic.py", line 16, in <module>from FoodSAM_tools.predict_semantic_mask import semantic_predictFile "/home/wyl/expr_SS/FoodSAM-main/FoodSAM/FoodSAM_tools/predict_semantic_mask.py", line 14, in <module>from mmseg.apis import inference_segmentor, init_segmentorFile "/home/wyl/expr_SS/FoodSAM-main/./mmseg/__init__.py", line 26, in <module>assert (mmcv_min_version <= mmcv_version <= mmcv_max_version), \
AssertionError: MMCV==2.2.0 is used but incompatible. Please install mmcv>=[1, 1, 4], <=[1, 3, 0].
好的,请选择重装mmcv或是mmseg,反正二者的版本是怎么也无法匹配的。
gcc -pthread -B /home/wyl/anaconda3/envs/FoodSAM/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-install-8oh_rf2o/mmcv-full_5092720098564a44b2c8c96285f0e4eb/mmcv/ops/csrc -I/home/wyl/anaconda3/envs/FoodSAM/lib/python3.7/site-packages/torch/include -I/home/wyl/anaconda3/envs/FoodSAM/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/wyl/anaconda3/envs/FoodSAM/lib/python3.7/site-packages/torch/include/TH -I/home/wyl/anaconda3/envs/FoodSAM/lib/python3.7/site-packages/torch/include/THC -I/home/wyl/anaconda3/envs/FoodSAM/include/python3.7m -c ./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp -o build/temp.linux-x86_64-3.7/./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_ext -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp: In function ‘void box_iou_rotated_cpu_kernel(at::Tensor, at::Tensor, at::Tensor, int, bool)’:./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp:17:63: error: expected primary-expression before ‘>’ tokenious[i] = single_box_iou_rotated<T>(boxes1[i].data_ptr<T>(),^./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp:17:65: error: expected primary-expression before ‘)’ tokenious[i] = single_box_iou_rotated<T>(boxes1[i].data_ptr<T>(),^./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp:18:63: error: expected primary-expression before ‘>’ tokenboxes2[i].data_ptr<T>(), mode_flag);^./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp:18:65: error: expected primary-expression before ‘)’ tokenboxes2[i].data_ptr<T>(), mode_flag);^./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp:24:33: error: expected primary-expression before ‘>’ tokenboxes1[i].data_ptr<T>(), boxes2[j].data_ptr<T>(), mode_flag);^./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp:24:35: error: expected primary-expression before ‘)’ tokenboxes1[i].data_ptr<T>(), boxes2[j].data_ptr<T>(), mode_flag);^./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp:24:58: error: expected primary-expression before ‘>’ tokenboxes1[i].data_ptr<T>(), boxes2[j].data_ptr<T>(), mode_flag);^./mmcv/ops/csrc/pytorch/box_iou_rotated_cpu.cpp:24:60: error: expected primary-expression before ‘)’ tokenboxes1[i].data_ptr<T>(), boxes2[j].data_ptr<T>(), mode_flag);^error: command '/usr/bin/gcc' failed with exit code 1[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.ERROR: Failed building wheel for mmcv-fullRunning setup.py clean for mmcv-full
Failed to build mmcv-full
ERROR: Could not build wheels for mmcv-full, which is required to install pyproject.toml-based projects
这个也是mmcv的版本无法与pytorch匹配。选择升级mmcv或是降低pytorch。
此外,还有两个比较简单的报错是:
-
init_segmentor
,inference_segmentor
在新的版本中变成了init_model
,inference_model
from mmseg.apis import inference_segmentor, init_segmentor # from mmseg.apis import inference_model, init_model
-
MMDataParallel
被移除。MMDistributedDataParallel
被移到其他库中。# from mmcv.parallel import MMDataParallel, MMDistributedDataParallel from torch.nn.parallel import DataParallel from mmengine.model import MMDistributedDataParallel
果咩纳塞,本人实在是难绷,遂放弃。如果要是有人根据我的报错解决了问题,且能够正常运行,请在评论区滴滴我,谢谢!