项目介绍:swin-base-patch4-window12-384
概述
swin-base-patch4-window12-384项目是一个基于Swin Transformer的图像分类模型。它使用了ImageNet-1k数据集进行训练,图像分辨率为384x384。Swin Transformer由Liu及其团队在论文“Swin Transformer: Hierarchical Vision Transformer using Shifted Windows”中首次提出,并在微软的GitHub仓库中发布。
模型介绍
Swin Transformer是一种视觉Transformer模型,以层次化的方式构建特征图。通过在更深的层次中合并图像块,它仅在每个局部窗口内计算自注意力,使计算复杂度线性化。相比之下,以前的视觉Transformer在全局范围内计算自注意力,复杂度随输入图像大小呈二次增长。因此,Swin Transformer可作为图像分类和密集识别任务的通用骨干。
预期用途与局限性
Swin Transformer可以用于基本的图像分类任务。用户可以通过模型中心查找针对特定任务微调的模型版本。
使用方法
以下是如何使用此模型对COCO 2017数据集中的图像进行分类为1,000种ImageNet类别之一的示例代码:
from transformers import AutoFeatureExtractor, SwinForImageClassification
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 = AutoFeatureExtractor.from_pretrained("microsoft/swin-base-patch4-window12-384")
model = SwinForImageClassification.from_pretrained("microsoft/swin-base-patch4-window12-384")
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
更多代码示例可以参考文档。
引用信息
如果在学术研究中使用了此模型,可以按照以下BibTeX条目进行引用:
@article{DBLP:journals/corr/abs-2103-14030,
author = {Ze Liu and
Yutong Lin and
Yue Cao and
Han Hu and
Yixuan Wei and
Zheng Zhang and
Stephen Lin and
Baining Guo},
title = {Swin Transformer: Hierarchical Vision Transformer using Shifted Windows},
journal = {CoRR},
volume = {abs/2103.14030},
year = {2021},
url = {https://arxiv.org/abs/2103.14030},
eprinttype = {arXiv},
eprint = {2103.14030},
timestamp = {Thu, 08 Apr 2021 07:53:26 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2103-14030.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
结论
Swin Transformer通过创新的技术改变了视觉Transformer的计算复杂度,使其更适合广泛的视觉任务。它不仅是图像分类的有力工具,还能通过扩展优化其他视觉识别任务。用户可以根据需要参考提供的代码和文献进行进一步的研究和应用开发。