许可协议: mit
标签:
- 视觉
- 图像分类
数据集:
- imagenet-1k
示例展示:
- 图片链接: https://huggingface.co/datasets/mishig/sample_images/resolve/main/tiger.jpg
示例标题: 老虎
- 图片链接: https://huggingface.co/datasets/mishig/sample_images/resolve/main/teapot.jpg
示例标题: 茶壶
- 图片链接: https://huggingface.co/datasets/mishig/sample_images/resolve/main/palace.jpg
示例标题: 宫殿
NAT (小型变体)
NAT-Small模型在ImageNet-1K数据集上以224x224分辨率训练而成。
该模型由Hassani等人在论文《邻域注意力变换器》中提出,并首次发布于此代码库。
模型描述
NAT是一种基于邻域注意力(NA)的分层视觉变换器。
邻域注意力是一种受限的自注意力机制,其中每个标记的感受野仅限于其最近的相邻像素。
NA采用滑动窗口注意力模式,因此具有高度灵活性并保持平移等变性。
NA通过其扩展库NATTEN在PyTorch中实现。

来源
预期用途与限制
您可以将原始模型用于图像分类任务。请访问模型中心查找您感兴趣任务的微调版本。
使用示例
以下示例展示如何使用该模型将COCO 2017数据集中的图像分类为ImageNet的1,000个类别之一:
from transformers import AutoImageProcessor, NatForImageClassification
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
feature_extractor = AutoImageProcessor.from_pretrained("shi-labs/nat-small-in1k-224")
model = NatForImageClassification.from_pretrained("shi-labs/nat-small-in1k-224")
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("预测类别:", model.config.id2label[predicted_class_idx])
更多示例请参考文档。
环境要求
除transformers外,本模型需要NATTEN包支持。
Linux用户可访问shi-labs.com/natten获取预编译二进制安装指南(选择对应torch版本获取正确wheel链接)。
也可使用pip install natten
命令本地编译(可能需要数分钟)。Mac用户仅支持后者(无预编译版本)。
详见NATTEN的GitHub。
BibTeX引用信息
@article{hassani2022neighborhood,
title = {邻域注意力变换器},
author = {Ali Hassani 和 Steven Walton 和 Jiachen Li 和 Shen Li 和 Humphrey Shi},
year = 2022,
url = {https://arxiv.org/abs/2204.07143},
eprint = {2204.07143},
archiveprefix = {arXiv},
primaryclass = {cs.CV}
}