许可协议: 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
示例标题: 宫殿
DiNAT (迷你版)
DiNAT-Mini模型在ImageNet-1K数据集上以224x224分辨率训练完成。
该模型由Hassani等人在论文《扩张邻域注意力Transformer》中提出,并首次发布于此代码库。
模型描述
DiNAT是一种基于邻域注意力(NA)及其扩张变体(DiNA)的分层视觉Transformer。
邻域注意力是一种受限的自注意力机制,其中每个标记的感受野仅限于其最近的相邻像素。
NA和DiNA因此成为滑动窗口注意力模式,具有高度灵活性并保持平移等变性。
通过NATTEN包可获取其PyTorch实现。

来源
预期用途与限制
该基础模型可用于图像分类任务。访问模型中心可查看针对特定任务的微调版本。
使用示例
以下代码展示如何将此模型用于将COCO 2017数据集中的图像分类为1000个ImageNet类别之一:
from transformers import AutoImageProcessor, DinatForImageClassification
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/dinat-mini-in1k-224")
model = DinatForImageClassification.from_pretrained("shi-labs/dinat-mini-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{hassani2022dilated,
title = {扩张邻域注意力Transformer},
author = {Ali Hassani and Humphrey Shi},
year = 2022,
url = {https://arxiv.org/abs/2209.15001},
eprint = {2209.15001},
archiveprefix = {arXiv},
primaryclass = {cs.CV}
}