英文

FocalNet(小型模型)

FocalNet 模型在 ImageNet-1k 数据集上以 224x224 的分辨率进行训练。该模型首次在 Yang 等人的论文 Focal Modulation Networks 中提出,并在 this repository 中首次发布。

免责声明:发布 FocalNet 的团队没有为该模型编写模型卡片,因此本模型卡片由 Hugging Face 团队编写。

模型描述

Focal 模块化网络是 Vision Transformer 的一种替代方案,其中自注意力(SA)被全面替换为用于在视觉中建模令牌交互的焦点调制机制。焦点调制包括三个组成部分:(i)层次化上下文建模,使用一系列深度卷积层来编码从短范围到长范围的视觉上下文,(ii)门控聚合,根据查询令牌的内容有选择地收集上下文,(iii)元素级调制或仿射变换,将聚合的上下文注入查询中。大量实验证明,与最先进的 SA 型对比模型(如 Vision Transformer、Swin 和 Focal Transformer)相比,在图像分类、目标检测和分割等任务上,FocalNet 在相似的计算成本下表现优秀。

预期用途和限制

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

如何使用

以下是使用此模型将 COCO 2017 数据集中的图像分类为 1,000 个 ImageNet 类别之一的方法:

from transformers import FocalNetImageProcessor, FocalNetForImageClassification
import torch
from datasets import load_dataset

dataset = load_dataset("huggingface/cats-image")
image = dataset["test"]["image"][0]

preprocessor = FocalNetImageProcessor.from_pretrained("microsoft/focalnet-small")
model = FocalNetForImageClassification.from_pretrained("microsoft/focalnet-small")

inputs = preprocessor(image, return_tensors="pt")

with torch.no_grad():
    logits = model(**inputs).logits

# model predicts one of the 1000 ImageNet classes
predicted_label = logits.argmax(-1).item()
print(model.config.id2label[predicted_label]),

有关更多代码示例,请参阅 documentation

BibTeX 条目和引用信息

@article{DBLP:journals/corr/abs-2203-11926,
  author       = {Jianwei Yang and
                  Chunyuan Li and
                  Jianfeng Gao},
  title        = {Focal Modulation Networks},
  journal      = {CoRR},
  volume       = {abs/2203.11926},
  year         = {2022},
  url          = {https://doi.org/10.48550/arXiv.2203.11926},
  doi          = {10.48550/arXiv.2203.11926},
  eprinttype    = {arXiv},
  eprint       = {2203.11926},
  timestamp    = {Tue, 29 Mar 2022 18:07:24 +0200},
  biburl       = {https://dblp.org/rec/journals/corr/abs-2203-11926.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}
}