图像大模型中的注意力和因果掩码

AIM — 图像领域中 LLM 的对应物。尽管 iGPT 已经存在 2 年多了,但自回归尚未得到充分探索。在本文中,作者表明,当使用 AIM 对网络进行预训练时,一组图像数据集上的下游任务的平均准确率会随着数据和参数的增加而线性增加。

要运行下面的代码,请使用我的 Jupyter 笔记本

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 

AIM 引入了两个概念:

  • 对于预训练:AIM 引入了一种称为 PrefixLM 的东西,它允许在下游任务期间进行双向 attn 并进行预训练而无需改变架构。
  • 对于下游:Attentive Probing

在这篇博客中,我们将了解自注意力中的 Casual Masking 是什么,然后看看 PrefixLM 是如何设计的。

在阅读这篇博客之前,我强烈建议你先观看这个 nanoGPT 视频教程 。

让我们先加载所需的库。

import math
import numpy as np
import torch
import torch.nn as nn
import fastcore.all as fc
from PIL import Image
from functools import partial
from torchvision.transforms import RandomResizedCrop, RandomHorizontalFlip, Compose, ToTensor, ToPILImage

import matplotlib.pyplot as plt
plt.style.use("bmh")
%matplotlib inline

让我们创建一个大小为 224x224 的图像,其中补丁大小为 32

img_size = 224
patch_size = 32

1、加载并可视化图像

我们加载并使用 coco val 数据。为了这个博客的目的,你可以从互联网上挑选任何图像。

imgs = fc.L(fc.Path("../coco/val2017/").glob("*.jpg"))
imgs
(#5000) [Path('../coco/val2017/000000182611.jpg'),Path('../coco/val2017/000000335177.jpg'),Path('../coco/val2017/000000278705.jpg'),Path('../coco/val2017/000000463618.jpg'),Path('../coco/val2017/000000568981.jpg'),Path('../coco/val2017/000000092416.jpg'),Path('../coco/val2017/000000173830.jpg'),Path('../coco/val2017/000000476215.jpg'),Path('../coco/val2017/000000479126.jpg'),Path('../coco/val2017/000000570664.jpg')...]

以下是论文中提到的标准变换:

def transforms():
    return Compose([RandomResizedCrop(size=224, scale=[0.4, 1], ratio=[0.75, 1.33], interpolation=2), 
                    RandomHorizontalFlip(p=0.5), 
                    ToTensor()])

def load_img(img_loc, transforms):
    img = Image.open(img_loc)
  
资源下载链接为: https://pan.quark.cn/s/9e7ef05254f8 在 IT 领域,Web 服务是一种借助网络实现通信的软件系统,通常以 XML 作为数据交换格式。WSDL 是一种用于描述 Web 服务的标准语言,它明确了服务的位置、接口以及调用方式等关键信息。本文将深入探讨如何依据 WSDL 地址调用 WebService 接口,并介绍相关工具的应用。 首先,WSDL 文件本质上是一个 XML 文档,详细规定了服务提供方与消费方的交互细节,涵盖服务地址、消息格式、操作以及服务契约等内容。借助 WSDL,开发者能够清楚知晓如何与 Web 服务进行交互,包括输入输出消息的具体结构。 其次,SOAP 是 Web 服务常用的传输协议,它在 HTTP、SMTP 等基础协议之上对 XML 消息进行封装。WSDL 中定义的服务操作一般对应于 SOAP 消息中的方法。 要调用 Web 服务,开发者通常需要一个客户端代理类,该类封装了与服务交互的所有逻辑。当下多数开发环境都提供了从 WSDL 自动生成代理类的工具。比如在 Java 环境中,可利用 Apache CXF、Axis2 等库,或者借助 Maven 的 wsimport 插件来实现。在 .NET 环境下,Visual Studio 能够直接从 WSDL 生成服务引用。 生成代理类后,调用 Web 服务就如同调用本地方法一样便捷。以 Java 为例,创建代理类实例后,即可调用其方法并传递相应参数。在 .NET 中,创建服务代理对象后,也能通过它来调用服务方法。 文中提到的“源码 工具”标签,可能涉及一些协助开发者处理 WSDL 的工具。例如,SoapUI 是一款广受欢迎的测试工具,可用于测试 Web 服务,包括基于 WSDL 创建测试用例。此外,wsdl2java wsdl2dotnet 分别是 Java
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值