ViT笔记学习

1.VIT

ViT原理讲解
ViT结合代码
1.3 ViT模型架构
我们先结合下面的动图来粗略地分析一下ViT的工作流程,如下:

  • 将一张图片分成patches
  • 将patches铺平
  • 将铺平后的patches的线性映射到更低维的空间
  • 添加位置embedding编码信息
  • 将图像序列数据送入标准Transformer encoder中去
  • 在较大的数据集上预训练
  • 在下游数据集上微调用于图像分类
    在这里插入图片描述
    https://liuruiyang98.github.io/posts/2021/09/09/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B9%8B%E5%9B%BE%E5%83%8F%E5%88%86%E7%B1%BB-18-Vision-Transformer(ViT)%E7%BD%91%E7%BB%9C%E8%AF%A6%E8%A7%A3.html

在这里插入图片描述

1.对于图像数据而言,其数据格式为[H, W, C]是三维矩阵明显不是Transformer想要的。所以需要先通过一个Embedding层来对数据做个变换。如下图所示,首先将一张图片按给定大小分成一堆Patches。以ViT-B/16为例,将输入图片(224x224)按照14x14大小的Patch进行划分,划分后会得到256个Patches。
2.接着通过线性映射将每个Patch映射到一维向量中,以ViT-B/16为例,每个Patches数据shape为[14, 14, 3]通过映射得到一个长度为588的向量(后面都直接称为token)。[14, 14, 3] -> [588]
3. patch-embed 维度变化patch-size为14【448,448,3】->[32,32,1792])拉平-》【1,1024,1792】
4. 1 16,16,

2.MaskFormer

MaskFormer-github

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值