MobileViT-v1-所有patch内相对位置相同的token之间计算自注意力

news/2024/12/25 14:36:28/文章来源:https://www.cnblogs.com/plumIce/p/18548518

paper

def my_self(x: torch.Tensor):'''通过这段代码  可以把每张图片图片中相对位置相同的若干个tokens放到最后两个维度'''# [B, C, H, W] -> [B, C, n_h, p_h, n_w, p_w] # n_h是高度方向上可以分多少个patch  p_h patch的高度  n_w 宽度方向上可以分多少个patch p_w patch的宽度x = x.reshape(batch_size, in_channels, num_patch_h, patch_h, num_patch_w, patch_w)# [B, C, n_h, p_h, n_w, p_w] -> [B, C, n_h, n_w, p_h, p_w]x = x.transpose(3, 4)# [B, C, n_h, n_w, p_h, p_w] -> [B, C, N, P] where P = p_h * p_w and N = n_h * n_w# num_patches 有多少个patch patch_area 每个patch的大小 patch的大小决定了要分多少组 假如说一个patch内有四个token,那么面积就是4,所有patch中的第一个token之间互相计算自注意力,所有patch中的第二个token之间互相计算自注意力,第三第四同理x = x.reshape(batch_size, in_channels, num_patches, patch_area)# [B, C, N, P] -> [B, P, N, C]# 一共有多少张图片,每张图片中的token分几个组,每个组内有多少token,每个token的维度有多少 至此,需要互相之间需要计算自注意力的token都已经固定在了最后两个维度上x = x.transpose(1, 3)# [B, P, N, C] -> [BP, N, C]# 一张图片有P组,B张图片就是BP组x = x.reshape(batch_size * patch_area, num_patches, -1)return x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/834199.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

27. 使用MySQL之全球化和本地化

1. 字符集和校对顺序 数据库表被用来存储和检索数据。不同的语言和字符集需要以不同的方式存储和检索。因此,MySQL需要适应不同的字符集(不同的字母和字符),适应不同的排序和检索数据的方法。 在讨论多种语言和字符集时,将会遇到以下重要术语:字符集为字母和符号的集合;…

TCP/IP上三层协议

TCP/IP上三层的角色 同一台设备上的进程间通信有多种方式,如管道、消息队列、共享内存、信号等。而不同设备间的进程通信需要网络通信,由于设备具有多样性,因此协商出了一套通用的网络协议。这个网络协议是分层的,每一层都有各自的作用和职责,接下来将依据 “TCP/IP 网络模…

无线部分

AC堆叠(VAC) 配置两台AC设备,使用虚拟化方案组合成1台虚拟AC。 AC1和AC2之间的G 0/3-4端口作为虚拟交换链路。配置AC1为主,AC2为备。主设备 description为AC1,备用设备description为AC2。 AC1 virtual-ac domain 100device 1 device 1 priority 200 device 1 description …

DHCP欺骗

DHCP 欺骗原理DHCP 协议(Dynamic Host Configuration Protocol) 动态主机配置协议:主要给客户机提供 TCP/IP 参数,包括:IP 地址、子网掩码、网关、DNS、租期工作原理应用层协议,基于UDP 主机向服务器 67 号端口发送 DHCP 请求 服务器响应给客户机的 68号端口配置设置DHCP 服…

Redis运行的时候碰到# Creating Server TCP listening socket *:6379: bind: No error

Redis运行的时候碰到# Creating Server TCP listening socket *:6379: bind: No error 解决方案: 1、启动redis客户端:redis-cli.exe。 2、执行关闭命令:输入shutdown3、执行退出命令:exit4、重新启动Redis输入:redis-server.exe redis.windows.conf

https实验

https 实验原理httphttps https = http + SSL/TLS •SSL: Secure Socket Layer 安全套接层 •TLS: Transport Layer Security 传输层安全协议加密方式:PKI(公钥基础设施)使用公钥技术和数字签名来保证信息安全由公钥密码算法、数字证书(Certificate)、CA(Certificate Aut…

手把手教你搭建OpenScenario交通场景(上)

经纬恒润动力学仿真软件ModelBase基于OpenScenario1.0标准,开发内嵌了场景编辑器,可用于对仿真测试过程中的车辆行驶道路模型之外,继续进行周边动态场景的搭建。 OpenScenario是一种专为自动驾驶系统仿真测试设计的场景描述语言,它基于XML格式,旨在提供一个标准化、…

动态规划题单2

第一个题单编辑到后面实在是太卡了,就新开了一个,以后应该也会 \(30\) 题为一个题单。 31.CF1580D Subsequence CF1580D Subsequence 不会笛卡尔树,但是看到题解区的妙妙解法...... 题目的式子非常大便,我们考虑把它翻译成人话: 一个子序列的价值为: \(sum*m - 每两个数及他…

java 反序列化 cc7 复现

java 反序列化 cc7 复现复现环境:common-collections版本<=3.2.1,java版本随意.cc7就是cc6换了一个出口,整体的逻辑没有太大的变化.在Lazymap之前的还那样,我们从如何触发Lazymap的get方法开始看起. AbstractMap 看他的equals方法 public boolean equals(Object o) { if (o…

告别Print,使用IceCream进行高效的Python调试

在Python开发实践中,调试是一个不可或缺的环节。如果采用print()语句来追踪程序执行流程,可能会遇到一个持续出现的异常情况,并且经过多次代码审查问题的根源仍然难以确定,这可能是因为随着终端输出信息的不断增加,这种调试方式的局限性逐渐显现。本文将介绍IceCream库,这…

浏览器

控制台 查看继承的样式 Inherited(继承) from xxx: 继承样式来自于xxx <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><title>Document</title><style>.font {font-size: 12px;}.font2 {fon…

团队项目Scrum冲刺-day5

一、每天举行站立式会议 站立式会议照片一张昨天已完成的工作成员 任务陈国金 判题机架构设计凌枫 整合代码编辑器陈卓恒 更新题目界面部分完成谭立业 浏览题目页面部分完成廖俊龙 接口测试曾平凡 前端页面测试曾俊涛 判题服务薛秋昊 判题服务今天计划完成的工作成员 任务陈国金…