nnformer中的V-MSA/SV-MSA

  • V-MSA计算方法


图片 1转载自:https://zhuanlan.zhihu.com/p/408333152

V-MSA计算方法

主要计算代码在SwinTransblk类:

1)输入x(B,DHW,C)=(1,48,32,32,192)

2)创建三个pad feature maps
pad_r = (self.window_size - W % self.window_size) % self.window_size #0
pad_b = (self.window_size - H % self.window_size) % self.window_size
pad_g = (self.window_size - S % self.window_size) % self.window_size

3)x = laynorm(x)且x.view(B, S, H, W, C)

4)使用F.pad()方法扩充tensor维度
原:torch.nn.functional.pad(input, pad, mode=‘constant’, value=0)
x = F.pad(x, (0, 0, 0, pad_r, 0, pad_b, 0, pad_g)) #x为需要扩充的tensor,(0, 0, 0, pad_r, 0, pad_b, 0, pad_g)为扩充维度

这里扩充的维度为0,因此x.shape=(1,48,32,32,192)

5)#划分窗口
x = x.view(B, S // window_size, window_size, H // window_size, window_size, W // window_size, window_size, C) #x.shape=(1,12,4,8,4,8,4,192)
#调换维度顺序x.shape=(1,12,8,8,4,4,4,192)#1288=768, 76864=4832*32=49152

6)再次更改维度
x_windows = x_windows.view(-1, self.window_size * self.window_size * self.window_size,C)
x_windows.shape=torch.Size([768, 64, 192])

7)进行V-MSA/SV-MSA计算
attn_windows = self.attn(x_windows, mask=attn_mask)#attn_mask=None #torch.Size([768, 64, 192])

8)将窗口大小的维度弄出来
attn_windows = attn_windows.view(-1, self.window_size, self.window_size, self.window_size, C)
#torch.Size([768, 4, 4, 4, 192])

9)window_reverse:将图像的维度转为一开始输入的
shifted_x.shape:torch.Size([1, 48, 32, 32, 192])

V-MSA和SV-MSA计算时维度不变,只是多计算了一个Transformerblock

nnformer中的V-MSA/SV-MSA相关推荐

  1. oracle 查看动态性能视图,Oracle 中的V$ 动态性能视图

    v$database:数据库的信息,如数据库名,创建时间等. v$instance 实例信息,如实例名,启动时间. v$parameter 参数信息,select * from v$parameter ...

  2. 软件开发中的V字模型与W模型(使开发与侧试分离)

    ■前言 关于 W字模型,以前好像听过, 但是印象不深刻,几天有听别人说了一遍, 采用W字模型的主要目的是,测试与开发分离. ■瀑布开发中的V字模型 与 W模型 --- ■吐槽 ⇒ W字模型 很少有项目 ...

  3. 秦九韶算法的matlab表示,秦九韶算法中的v带变啥意思?例如1+5x+10x∧2+10x∧3+5x∧4+x∧5在...-秦九韶-数学-罗平始同学...

    概述:本道作业题是罗平始同学的课后练习,分享的知识点是秦九韶,指导老师为邵老师,涉及到的知识点涵盖:秦九韶算法中的v带变啥意思?例如1+5x+10x∧2+10x∧3+5x∧4+x∧5在...-秦九韶- ...

  4. MSA应用――MSA手册第四版的新亮点

    用平均值极差法做GRR分析,抽取的10个工件的分布宽度PV(零件变差)决定了GRR%的水平.工件的抽取原则是:其测量值应尽可能分布在公差范围内,不要过于集中在某一区域.否则会GRR%=GRR/TV%& ...

  5. MathType在word中的安装使用方法(要配合microsoft公式3.0才能使用)(ps:弄得不好可能造成word中Ctrl+V失灵)

    目录 0. 如果后续再word中出现了Ctrl+V快捷键粘贴失灵 1. doc和docx 2. 下载安装MathType 和 microsoft公式3.0 3. 使用方法 4. 一些参考链接(长期使用 ...

  6. 详细了解软件测试过程中的V 模型,W模型,H模型

    V模型 1.单元测试,是针对软件设计中的最小单位进行正确性检查的测试工作. 对于单元的定义: C语言中指一个函数 Java中指一个类 在图形化的软件中指一个窗口 2.集成测试,是在单元测试的基础上,将 ...

  7. wps中ctrl+v粘贴快捷键失灵

    在wps文字编辑中,有时会遇到复制粘贴(ctrl+c和ctrl+v)快捷键失灵的情况,如何解决? 在wps当中,使用ctrl+v粘贴快捷键失效,只能进行耻悦右键,点击粘贴才能复制到wps文档当中. 解 ...

  8. V-Value in fiber(光纤中的V值)

    V-Value in fiber 定义 说明 讨论 定义 V-Value:英文全称,waveguide or fiber parameter V.或者称之为归一化的频率,其表述的是在阶梯折射率光纤中数 ...

  9. 计算机中倒v符号,电脑倒过来的问号怎么打?特殊符号倒问号输入的方法

    倒问号怎么输倒问号怎么打?倒问号来自于西班牙语.倒立的问号代表的是接下来的句子或者从句时一个问题.下面就和小编一起来看看倒问号怎么打出来的. 1.点击你想要插入倒问号的位置.在输入倒问号之前,请确保光 ...

最新文章

  1. 分布式存储 Ceph 介绍及原理架构分享--云平台技术栈系列01
  2. Ubuntu 16.04 LTS界面美化
  3. linux 文本搜索命令 grep egrep fgrep 区别
  4. 为什么 Java 不支持运算符重载?
  5. java版扫雷下载_Java 实现扫雷游戏(MineSweeper)
  6. 各类JDBC数据库连接方式
  7. 20天减10斤 2020-10-21
  8. 干货 | C语言系列3——常量,运算符,常用数学函数......
  9. 怎么来判断光端机产品的性能优劣?光端机的产品性能有哪些?
  10. 7-15 计算圆周率 (15 分)
  11. 用VS2005开发WinCE程序调试图文教程
  12. 6个精心整理的资源网站,送给正在努力的你
  13. mysql查询表中名字包含某个字符_查询当前数据库中所有用户表中哪些字段包含某个字符串...
  14. DSP 程序远程升级 / Bootloader设计指南(四)——Bootloader数据流
  15. 数字电路基础知识——锁存器与触发器的建立时间和保存时间(二)
  16. SQL Server中默认的数据库及作用
  17. Linux与git使用引导(git rm 与rm命令)
  18. 机械键盘的“轴”有什么区别?
  19. webpack-dev-server的代理(proxy)
  20. 凸多边形最小面积包围矩形

热门文章

  1. 小米升级android版本,安卓12最新版发布:小米OV多款机型抢先升级!
  2. 带你玩一玩--> jQuery(一)
  3. 在线计算机安装系统,在线电脑重装系统
  4. 那一日,人类想起了被开学支配的恐惧
  5. 二、redis数据类型
  6. 基于springboot外委员工后台管理系统毕业设计源码101157
  7. WordPress为导航菜单添加个性图标字体
  8. Python基础1.1Python介绍
  9. 【双11“超级工程”】当当网:细节决定成败——运维人双十一怎么过?
  10. php的mysql5加密_PHP实现mysql加密算法mysql323和mysql5,即old_password()和password()两个mysql函数...