当前位置: 首页 > news >正文

mmsegmentation 自定义模型报错:KeyError: ‘EncoderDecoder is not in the model registry

# mmsegmentation 自定义模型报错:KeyError: 'EncoderDecoder is not in the model registry'

在使用 `mmsegmentation` 自定义模型时,可能会遇到以下错误:

KeyError: 'EncoderDecoder is not in the model registry. Please check whether the value of EncoderDecoder is correct or it was registered as expected. More details can be found at https://mmengine.readthedocs.io/en/latest/advanced_tutorials/config.html#import-the-custom-module'


这通常是由于模型内部初始化问题引起的。

## 解决方法

在配置文件中添加以下内容:

```python
custom_imports = dict(
    imports=['mmseg.models.backbones.rdt_fastvit'],
    allow_failed_imports=False
)
修改后的配置文件示例:

# model settings
norm_cfg = dict(type='SyncBN', requires_grad=True)
data_preprocessor = dict(type='SegDataPreProcessor',mean=[123.675, 116.28, 103.53],std=[58.395, 57.12, 57.375],bgr_to_rgb=True,pad_val=0,seg_pad_val=255
)
custom_imports = dict(imports=['mmseg.models.backbones.rdt_fastvit'],allow_failed_imports=False
)
model = dict(type='EncoderDecoder',data_preprocessor=data_preprocessor,backbone=dict(type='RDT_FastViT',model_name='rdt_sa12_s',pretrained=False,checkpoint_path='/path/rdt_fastvit_sa12.pth.tar',num_classes=1000,in_chans=3,drop_rate=0.1,global_pool='avg',retina_size=512,patch_number=4,use_residual=True,use_retina_field=False),neck=dict(type='FPN',in_channels=[64, 128, 256, 512],out_channels=256,num_outs=4),decode_head=dict(type='FPNHead',in_channels=[256, 256, 256, 256],in_index=[0, 1, 2, 3],feature_strides=[4, 8, 16, 32],channels=128,dropout_ratio=0.1,num_classes=19,norm_cfg=norm_cfg,align_corners=False,loss_decode=dict(type='CrossEntropyLoss', use_sigmoid=False, loss_weight=1.0)),train_cfg=dict(),test_cfg=dict(mode='whole')
)

添加后,再次运行会显示详细的出错位置,例如:

ImportError: cannot import name 'PatchEmbedCifar' from 'timm.layers.patch_embed' (/root/anaconda3/envs/mmseg/lib/python3.9/site-packages/timm/layers/patch_embed.py)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【HBZ分享】bean的生命周期 以及 各个阶段在spring的哪个类被调用
  • Leetcode75-8 递增的三元子序列
  • 在Windows MFC\C++编程中,如何使用OnCopyData函数
  • React 条件判断
  • MySql审计平台
  • MacOS Anaconda 安装教程及虚拟环境创建
  • 吴恩达:如何系统学习机器学习?
  • Java开发工具IDEA
  • 宿主机与容器(docker)之间的数据共享
  • celery使用
  • HDFS 之 文件流
  • proteus仿真c51单片机(四)双机串口通信(电路设计及代码)
  • 八 信息系统基础知识(考点篇)试题
  • Obsidian插件安装与开发
  • Thinkphp框架漏洞(附修复方法)
  • 【Leetcode】101. 对称二叉树
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 2019年如何成为全栈工程师?
  • CentOS7简单部署NFS
  • CentOS从零开始部署Nodejs项目
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • magento2项目上线注意事项
  • MySQL-事务管理(基础)
  • session共享问题解决方案
  • Spring框架之我见(三)——IOC、AOP
  • Vue全家桶实现一个Web App
  • 对象引论
  • 那些年我们用过的显示性能指标
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 三分钟教你同步 Visual Studio Code 设置
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​一些不规范的GTID使用场景
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • !$boo在php中什么意思,php前戏
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1)Hilt的基本概念和使用
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (2020)Java后端开发----(面试题和笔试题)
  • (7)svelte 教程: Props(属性)
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (二)c52学习之旅-简单了解单片机
  • (黑马点评)二、短信登录功能实现
  • (六) ES6 新特性 —— 迭代器(iterator)