10000 GitHub - LovelySimon/vit: 复现vit
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

LovelySimon/vit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vision-transformer

复现vit

vision transformer旨在原始的transformer架构适应视觉问题

进行设置:引入基础库,以及引入前面章节可以重复使用的函数。

获取数据:和前面博客保持一致,使用的披萨、牛排和寿司图像分类数据集,并构建一个 Vision Transformer 来尝试改进 FoodVision Mini 模型的结果。 创建Dataset和DataLoader:重复使用data_setup.py 脚本来设置我们的 DataLoaders。

复现ViT论文

Equation 1: The Patch Embedding:ViT 架构由四个主要公式组成,第一个是 patch 和位置嵌入。或者将图像转换为一系列可学习的 patch 。

Equation 2: Multi-Head Attention (MSA)【多头注意力】:自注意力/多头自注意力(MSA)机制是每个 Transformer 架构(包括 ViT 架构)的核心,使用 PyTorch 的内置层创建一个 MSA 块。

Equation 3: Multilayer Perceptron (MLP)【多层感知机】:ViT 架构使用多层感知器作为其 Transformer Encoder 的一部分及其输出层。首先为 Transformer Encoder 创建 MLP。

创建 Transformer 编码器(encode):Transformer 编码器通常由通过残差连接连接在一起的 MSA(公式 2)和 MLP(公式 3)的交替层组成。 将它们放在一起创建 ViT

为 ViT 模型设置训练代码:可以重复使用前面博客的engine.py 中的 train() 函数

使用来自 torchvision.models 的预训练 ViT :训练像 ViT 这样的大型模型通常需要大量数据。

对自定义图像进行预测

About

复现vit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0