首页 > 其他分享 >使用Pytorch手写ViT — VisionTransformer

使用Pytorch手写ViT — VisionTransformer

时间:2022-08-22 10:33:57浏览次数:107  
标签:Transformer 嵌入 架构 transformer VisionTransformer Pytorch ViT 图像

《The Attention is all you need》的论文彻底改变了自然语言处理的世界,基于Transformer的架构成为自然语言处理任务的的标准。

尽管基于卷积的架构在图像分类任务中仍然是最先进的技术,但论文《An image is worth 16x16 words: transformer for image recognition at scale》表明,计算机视觉中CNNs的依赖也不是必要的,直接对图像进行分块,然后使用序纯transformer可以很好地完成图像分类任务。

在ViT中,图像被分割成小块,并将这些小块的线性嵌入序列作为Transformer的输入。对图像进行补丁处理方式与NLP应用程序中的标记(单词)相同。

由于缺乏 CNN 固有的归纳偏差(如局部性),Transformers 在数据量不足的情况下不能很好地泛化。但是当在大型数据集上进行训练时,它在多个图像识别基准上确实达到或超过了最先进的水平。在深入本文之前,如果你从未听说过 Transformer 架构,我强烈建议你查看 The Illustrated Transformer。

在开始实现之前,我们先看看ViT架构

可以看到输入图像被分解成 16x16 的扁平化块,然后使用普通的全连接层对这些块进行嵌入操作,并在它们前面包含特殊的 cls token 和位置嵌入。

线性投影的张量被传递给标准的 Transformer 编码器,最后传递给 MLP 头,用于分类目的。

完整文章:

https://avoid.overfit.cn/post/da052c915f4b4309b5e6b139a69394c1

标签:Transformer,嵌入,架构,transformer,VisionTransformer,Pytorch,ViT,图像
From: https://www.cnblogs.com/deephub/p/16611968.html

相关文章

  • 初始Activiti
    一、工作流的定义:工作流,简单的理解就是工作流程,工作流在我们日常生活中无处不在,例如说:员工请假,首先需要提交请假申请,然后提交的申请转到上级领导手里,领导检查过后并同意,最......
  • 3. PyTorch主要组成模块(2)
    3.8Pytorch优化器()优化器是根据网络反向传播的梯度信息来更新网络的参数,以起到降低loss函数计算值,使得模型输出更加接近真实标签。3.9.1Pytorch提供的优化器torc......
  • 3. PyTorch主要组成模块(1)
    3.1构建PyTorch项目的基本配置调用常用的库:importosimportnumpyasnpimporttorchimporttorch.nnasnn#常用的神经网络库fromtorch.utils.dataimport......
  • Vite 项目添加 Sass 并配置全局样式
    (1)在Vite项目里,只需要安装sass:npmi-Dsass(2)Sass的全局变量,需要在vite.config.ts配置一项:css:{preprocessorOptions:{scss:{additionalData:"@......
  • Activiti可视化流程管理器
    1.简介Activiti是一个业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。在Java工作流引擎中可谓是主流,我......
  • Anaconda, PyTorch, CUDA Driver, PyCharm 安装与配置
    1安装Anaconda(2022.05)最新版本https://www.anaconda.com/历史版本https://repo.anaconda.com/archive/打开安装包:nextIAgreeJustMe(影响之后创建虚拟环境的......
  • 深度学习 之 模型部署【4】-libtorch入门 - pytorch部署torchscript 以及 c++ libto
    pytorch部署torchscriptfromtorchvision.modelsimportresnet34importtorch.nn.functionalasFimporttorch.nnasnnimporttorchimportcv2#读取一张图片,......
  • vite+vue3+ts项目搭建
    #**大反派项目说明**##**一、项目搭建与配置引入**用到的库:vue3tsvitelesspiniavue-routeraxioselement-plus###**1.创建项目**  yarncreatevite......
  • pytorch环境下查看gpu是否可用
    (36条消息)yolov5设置GPU-CSDNpython#输入库importtorch#查看版本print(torch.__version__)#查看gpu是否可用torch.cuda.is_available()#返回设备gpu个数tor......
  • Addressing Unmeasured Confounder for Recommendation with Sensitivity Analysis
    目录概符号说明问题本文方法代码DingS.,WuP.,FengF.,WangY.,HeX.,LiaoY.andZhangY.Addressingunmeasuredconfounderforrecommendationwithsensitiv......