首页 > 其他分享 >MobileViT-v1-所有patch内相对位置相同的token之间计算自注意力

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

时间:2024-11-15 19:18:52浏览次数:1  
标签:多少 MobileViT patch v1 token num 注意力 图片

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

标签:多少,MobileViT,patch,v1,token,num,注意力,图片
From: https://www.cnblogs.com/plumIce/p/18548518

相关文章

  • 【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性
    【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析…【深度学习目标检测|YOLO算法5-2-3】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析…文章目录【深度学习目标检测|YOLO算法5-2-3......
  • 基于yolov10的柿子成熟度检测系统,支持图像、视频和摄像实时检测【pytorch框架、python
     更多目标检测和图像分类识别项目可看我主页其他文章功能演示:yolov10,柿子成熟度检测系统,支持图像、视频和摄像实时检测【pytorch框架、python】_哔哩哔哩_bilibili(一)简介基于yolov10的柿子成熟度检测系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的......
  • YOLOv11改进,YOLOv11结合DynamicConv(动态卷积),CVPR2024,二次创新C3k2结构
    摘要大规模视觉预训练显著提高了大规模视觉模型的性能。现有的低FLOPs模型无法从大规模预训练中受益。在本文中,作者提出了一种新的设计原则,称为ParameterNet,旨在通过最小化FLOPs的增加来增加大规模视觉预训练模型中的参数数量。利用DynamicConv动态卷积将额外的参......
  • DL00337-基于yolov11的阿尔兹海默症检测诊断含数据集python
    阿尔兹海默症是一种渐进性的神经退行性疾病,通常通过认知障碍、记忆丧失、语言障碍等症状表现出来。早期诊断是控制疾病发展的关键,但现有的诊断方法如临床评估、神经影像检查(CT、MRI等)通常具有一定的局限性。YOLOv11能够帮助提取医学影像中的有价值特征,进而辅助阿尔兹海默症的诊......
  • 项目实战:Qt+OpenCV透视变换工具v1.1.0(支持打开图片、输出棋盘角点、调整偏移点、导出
    需求  1.打开图片;  2.矫正识别角点;  3.四点对应偏移距离;  4.支持设置棋盘格的行列角点数;  5.导出结果图片; 背景  深入研究图像拼接细分支算法,产出的效果查看工具,验证算法单步思路。 相关博客  《项目实战:Qt+OpenCV透视变换工具v1.1.0(支持打开图......
  • Codeforces Round 985 div1+2 个人题解(A~E)
    CodeforcesRound985div1+2个人题解(A~E)Dashboard-Refact.aiMatch1(CodeforcesRound985)-Codeforces火车头#include<bits/stdc++.h>usingnamespacestd;#defineftfirst#definesdsecond#defineyescout<<"yes\n"#definenoc......
  • 电脑录音软件 GiliSoft Audio Recorder Pro v13.2.0 注册码
    GilisoftAudioRecorderPro是一款专为Windows电脑设计的音频录制软件,它能够从电脑声音、麦克风、在线音乐等多种音频源捕捉声音。这款软件以其卓越的录音品质和多样化的功能,如定时录制和声音增强技术,帮助用户轻松提升录音质量。该版本已内置注册码,可以使用全部功能。软件截......
  • 麒麟V10系统安装jdk
    1.在/usr目录下建立java安装目录#cdusr#mkdirjava 2.将jdk-8文件包文件上传,并放给到该目录下scp/Users/xxx/[email protected]:/usr/java 3.在当前目录解压jdk-8文件包tar-zxvfbellsoft-jdk8u412+9-linux-aarch64.tar......
  • Working with patches
    Workingwithpatcheshttps://openwrt.org/docs/guide-developer/toolchain/use-patches-with-buildsystem Thebuildsystemintegrates quilt foreasypatchmanagement.Thisdocumentoutlinessomecommonpatchingtaskslikeaddinganewpatchoreditingexist......
  • 多人语音1V1语音的婚恋系统该如何设置设置跨域访问?
    在构建多人语音及1V1语音的婚恋系统时,设置跨域访问是一个重要的技术环节,它涉及到前后端数据的交互和不同源之间的请求处理。以下是一些关于如何设置跨域访问的建议:一、理解跨域访问的基本概念跨域访问是指浏览器出于安全考虑,限制了一个源(协议、域名、端口三者之一不同)对另一......