解决 mmseg/models/decode_heads/mask2former_head.py 中__init__()关键字参数错误
目录
【1 - 问题描述】
【2 - 报错位置检查】
【3 - 问题解决】
【4 - 解决的过程】
【1 - 问题描述】
在mmsegmentation中运行mask2former模型的分割任务遇到报错缺少关键字的错误:
TypeError: class `Mask2FormerHead` in mmseg/models/decode_heads/mask2former_head.py: __init__() got an unexpected keyword argument 'in_channels'
【2 - 报错位置检查】
在我运行train.py命令中对应的--config 文件中确实有in_channels和strides等参数(我在查看了Mask2Former的源码Mask2Former/mask2former/modeling/transformer_decoder/mask2former_transformer_decoder.py at main · facebookresearch/Mask2Former (github.com)中,网络结构确实需要这些参数的输入)
而在模型库的".../mmsegmentation/mmseg/models/decode_heads/maskformer_head.py"(下文中 maskformer_head.py 都说的是这个文件)的head模块定义中,只有如下简单的几个参数报错,导致了__init__() got an unexpected keyword argument 'in_channels'。
【3 - 问题解决】
根本原因在于没有安装mmdet这一图像检测的库,maskformer这一实例分割网络依赖目标检测的结果,故会调用mmdetection的类和模块!!
参考 快速入门 — MMDetection 3.3.0 文档
由于我只是将 mmdet 用作依赖项或第三方包,故使用 MIM 安装它:
mim install mmdet
到这里 ,我的__init__() got an unexpected keyword argument 'in_channels'的报错就解决了!!
【4 - 解决的过程】
(可选读)在这里只是简单记录一下我的解决过程:
通过搜索 ‘maskformer head定义in_channel’ ,发现一篇很详细的博文:mmdetection源码阅读--MaskFormer(三) - 知乎 (zhihu.com)。
对比博文中的代码发现我的mmseg(分割)工作的MaskFormer Head的定义(maskformer_head.py)为:
看到“class Mask2FormerHead(MMDET_Mask2FormerHead):”,意识到是继承了mmdet的类。并且在该(maskformer_head.py)的import中有这么一句:
try:from mmdet.models.dense_headsimport Mask2FormerHead as MMDET_Mask2FormerHeadexcept ModuleNotFoundError:MMDET_Mask2FormerHead = BaseModule # BaseModule即 mmseg.models,而mmseg中没有in_channels等参数的定义
相关文章:

解决 mmseg/models/decode_heads/mask2former_head.py 中__init__()关键字参数错误
目录 【1 - 问题描述】 【2 - 报错位置检查】 【3 - 问题解决】 【4 - 解决的过程】 【1 - 问题描述】 在mmsegmentation中运行mask2former模型的分割任务遇到报错缺少关键字的错误: TypeError: class Mask2FormerHead in mmseg/models/decode_heads/mask2form…...

如何使用 ArcGIS Pro 分析爆炸波及建筑
假设在某栋建筑内发生了爆炸,需要根据爆炸的范围分析出来波及的建筑,对于这一需求,我们可以通过ArcGIS Pro来实现,这里为大家介绍一下分析的方法,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载…...

LoadBalancer (本地负载均衡)
1.loadbalancer本地负载均衡客户端 VS Nginx服务端负载均衡区别 Nginx是服务器负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求,即负载均衡是由服务端实现的。 loadbalancer本地负载均衡,在调用微服务接口时候&a…...

每日一题 第一期 洛谷 铺地毯
[NOIP2011 提高组] 铺地毯 https://www.luogu.com.cn/problem/P1003 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 n n n 张地毯,编号从 1 …...

Linux 多线程开发
第三章 Linux 多线程开发 3.1 线程3.1.2 线程操作3.1.2 线程属性 3.2 线程同步3.2.1 互斥量/锁3.2.2 死锁3.2.3 读写锁 3.3 生产者消费者模型3.3.1 条件变量3.3.2 信号量/灯 网络编程系列文章: 第1章 Linux系统编程入门(上) 第1章 Linux系统…...
Android 9.0 关于在系统Launcher3中调用截图api总是返回null的解决方案
1.概述 在9.0的系统rom产品定制化开发中,在Launcher3的开发中,在某些时候需要调用截图接口来进行截屏功能实现,而在Launcher3中发现调用系统截屏接口SurfaceControl.screenshot进行截图的时候始终为null, 获取不到系统当前页面的截屏功能,所以需要找到当前截屏失败的原因然…...
openssl3.2 - exp - 用openssl命令行来模拟ECC加解密的全流程
文章目录 openssl3.2 - exp - 用openssl命令行来模拟ECC加解密的全流程概述笔记实验环境实验备注END openssl3.2 - exp - 用openssl命令行来模拟ECC加解密的全流程 概述 工程中要用到ECC加解密, 先去查了资料. 在网上能查到一些大佬们写的ECC加解密实现(基于openssl API), 不…...

【Linux进阶之路】HTTP协议
文章目录 一、基本概念1.HTTP2.域名3.默认端口号4.URL 二、请求与响应1.抓包工具2.基本框架3.简易实现3.1 HttpServer3.2 HttpRequest3.2.1 version13.2.2 version23.2.3 version3 总结尾序 一、基本概念 常见的应用层协议: HTTPS (HyperText Transfer Protocol Sec…...
股市新手福音:河北源达“财源滚滚”让投资变得更简单
在浩渺的股市海洋中,每一位投资者都渴望找到一把能够指引航向的罗盘。尤其是对于股市新手来说,面对复杂的市场环境、纷繁的个股信息以及不断变化的投资策略,如何快速入门、精准选股,无疑是一大挑战。而河北源达信息技术股份有限公…...
2024.02.14 校招 实习 内推 面经
绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、校招&社招 | 中国电子信息产业集团有限公司校园招聘 校招&社招 | 中国电子信息产业集团有限公司校园招聘 2、校招&社招 | 中核光电2024年春季校园招聘开启! 校…...

5.Java并发编程—JUC线程池架构
JUC线程池架构 在Java开发中,线程的创建和销毁对系统性能有一定的开销,需要JVM和操作系统的配合完成大量的工作。 JVM对线程的创建和销毁: 线程的创建需要JVM分配内存、初始化线程栈和线程上下文等资源,这些操作会带来一定的时间和…...
llama2c(4)之forward、sample、decode
1、forward float* logits forward(transformer, token, pos); 输入transformer的参数,当前token,pos位置,预测出下一个token的预测值(用矩阵乘,加减乘除等运算构成Transformer) 其中,logits如…...

20240312-2-贪心算法
贪心算法 是每次只考虑当前最优,目标证明每次是考虑当前最优能够达到局部最优,这就是贪心的思想,一般情况下贪心和排序一起出现,都是先根据条件进行排序,之后基于贪心策略得到最优结果。 面试的时候面试官一般不会出贪…...

前端 --- HTML
1. HTML 结构 1.1 HTML 文件基本结构 <html><head><title>第一个html程序</title></head><body>hello world!</body> </html> html 标签是整个 html 文件的根标签(最顶层标签)head 标签中写页面的属性.body 标签中写的是页…...
curl c++ 实现HTTP GET和POST请求
环境配置 curl //DV2020T环境下此步骤可省略 https://curl.se/download/ 笔者安装为7.85.0版本 ./configure --without-ssl make sudo make install sudo rm /usr/local/lib/curl 系统也有curl库,为防止冲突,删去编译好的curl库。 对以json数据的解析使…...

12、设计模式之代理模式(Proxy)
一、什么是代理模式 代理模式属于结构型设计模式。为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 二、分类 代理模式分为三类&#…...
springboot集成Quartz定时任务组件
文章目录 前言一、Quartz 是什么?下面是对 Java 中 Quartz 的主要概念的简单描述: 二、使用步骤总结 前言 平时开发中相信大家都经常用到定时任务吧,最近简单的就是直接使用Scheduled注解标注到方法上用注解的方式在项目运行时无法去对任务进…...
代码随想录算法训练营第38天—动态规划06 | ● 完全背包 ● *518. 零钱兑换 II ● 377. 组合总和 Ⅳ
完全背包 视频讲解:https://www.bilibili.com/video/BV1uK411o7c9 https://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85.html 题目描述:有n件物品和一个最多能…...
C语言每日一题(63)复写零
题目链接 力扣网 1089 复写零 题目描述 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改,不…...
ElasticSearch聚合查询
数据准备 索引创建 PUT product {"mappings": {"properties": {"createtime": {"type": "date"},"desc": {"type": "text","fields": {"keyword": {"type": …...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...