50、计算机视觉中的Transformer模型:原理与实践

计算机视觉中的Transformer模型:原理与实践

1. Einops库

俗话说“条条大路通罗马”,将像素重新排列成序列的方法不止一种。有一种替代方法是使用名为 einops 的库。它非常简洁(可能甚至有点过于简洁),能让你用几行代码实现复杂的排列操作。不过,要掌握它的使用方法可能需要一些时间。

虽然这里不使用它,但如果你感兴趣,下面是与 extract_image_patches() 函数等效的 einops 代码:

# Adapted from https://github.com/lucidrains/vit-pytorch/blob/
# main/vit_pytorch/vit_pytorch.py
# !pip install einops
from einops import rearrange
patches = rearrange(padded_img,
                    'b c (h p1) (w p2) -> b (h w) (p1 p2 c)',
                    p1 = kernel_size, p2 = kernel_size)

2. 特殊分类器令牌 [CLS]

在之前的一些模型中,最终隐藏状态代表整个序列。这种方法有其局限性(注意力机制的发展就是为了弥补这些局限性),但它利用了数据中潜在的顺序结构。

然而,对于图像来说情况有所不同。图像块序列是一种让数据适合编码器的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值