模型:

shi-labs/dinat-mini-in1k-224

英文

DiNAT (mini variant)

DiNAT-Mini在ImageNet-1K的224x224分辨率下进行训练。它由Hassani等人在 Dilated Neighborhood Attention Transformer 论文中提出,并在 this repository 中首次发布。

模型描述

DiNAT是一种基于邻域注意力(NA)及其扩张变体(DiNA)的分层视觉转换器。邻域注意力是一种限制性的自注意力模式,其中每个令牌的感受野仅限于其最近的相邻像素。NA和DiNA因此是滑动窗口注意力模式,因此具有很高的灵活性并保持平移等变性。

可通过 NATTEN 软件包提供PyTorch实现。

Source

预期用途和限制

您可以使用原始模型进行图像分类。请查看 model hub 以查找您感兴趣的任务的精调版本。

示例

以下是如何使用该模型将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
# model predicts one of the 1000 ImageNet classes
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])

有关更多示例,请参阅 documentation

要求

除了transformers外,该模型还需要 NATTEN 软件包。

如果您使用的是Linux,可以参考 shi-labs.com/natten 中的说明来安装预编译的二进制文件(只需选择您的torch构建以获取正确的wheel URL)。

您也可以使用pip install natten在您的设备上进行编译,这可能需要几分钟时间。Mac用户只能选择后一种选项(没有预编译的二进制文件)。

有关更多信息,请参阅 NATTEN's GitHub

BibTeX条目和引用信息

@article{hassani2022dilated,
    title        = {Dilated Neighborhood Attention Transformer},
    author       = {Ali Hassani and Humphrey Shi},
    year         = 2022,
    url          = {https://arxiv.org/abs/2209.15001},
    eprint       = {2209.15001},
    archiveprefix = {arXiv},
    primaryclass = {cs.CV}
}