记录:MMaction2运行时,报错:KeyError: ‘FastRCNN is not in the mmengine::model registry

作者在解决一个长期未解决的技术问题时,发现问题出在过时的mmdet版本。通过查阅官网并更新到最新版本2.24.0,问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查找了很久的问题,几乎放弃了,都没搞定

最后仔细查看了官网上相关包的版本:
mmaction2 1.0.0
mmcv 2.0.0
mmdet 3.0.0
mmengine 0.7.2
mmpose 1.0.0

发现自己的mmdet是2.24.0的!果断卸载,重新下载
然后就好了

绝。

### 解决 MMSegmentation 推理报错的方法 当遇到 `mmsegmentation` 推理过程中的错误,通常可以从以下几个方面排查并解决问题: #### 错误分析与常见原因 1. **模型注册表未找到指定模块** 如果出现 `"xxxxx is not in the model registry"` 的错误提示,则表明所使用的类或函数并未被正确导入到模型注册表中。这可能是由于自定义配置文件路径设置不正确或者缺少必要的初始化操作所致[^1]。 2. **数据集元信息缺失** 对于类似于 `KeyError: 'classes'` 这样的异常情况,往往是因为在加载预训练权重之前未能正确设定好数据集的相关属性(比如类别名称)。确保 `dataset_meta['classes']` 已经正确定义,并且其长度匹配实际分类数目[^2]。 3. **环境依赖版本冲突** 版本兼容性也是一个重要因素。确认当前环境中安装的库版本是否满足项目需求,特别是像 PyTorch 及其扩展包、OpenCV 和其他第三方工具链等。例如,在特定日期下记录了某些软件的具体版本号,可以作为参考来调整本地开发环境[TorchVision: 0.17.2+cu118, OpenCV: 4.9.0, MMEngine: 0.10.3, mmsegmentation 1.2.2][^2]。 #### 实际案例解析 假设正在尝试基于 `MMSegmentation` 训练一个新的语义分割网络,并遇到了上述提到的一些典型问题。此可以根据具体场景采取相应措施: - 若是在创建新数据集适配器发生错误,检查是否已经按照官方文档说明,在 `mmseg/datasets/` 文件夹里添加了一个描述目标数据结构的新 Python 脚本(如命名为 `cag.py`) 并实现了所有必需方法[^3]。 ```python from mmseg.datasets.builder import DATASETS from mmseg.datasets.custom import CustomDataset @DATASETS.register_module() class CAGDataset(CustomDataset): CLASSES = ('background', 'object') PALETTE = [[0, 0, 0], [255, 255, 255]] def __init__(self, split, **kwargs): super().__init__( img_suffix='.png', seg_map_suffix='.png', split=split, reduce_zero_label=False, **kwargs) ``` - 当执行推理任务报错,先验证输入图像尺寸是否符合预期;再仔细核对配置文件内的参数选项是否有遗漏之处;最后查看日志输出寻找更多线索以便定位根本原因。 #### 额外建议 为了更好地支持后续维护工作以及便于他人理解整个流程,请务必保持良好的编码习惯——清晰地注释每一部分功能实现细节,并遵循 PEP8 编码风格指南书写代码逻辑。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值