模型:
microsoft/swin-large-patch4-window7-224-in22k
Swin Transformer模型在ImageNet-21k(1400万张图像,21,841个类别)上进行了预训练,分辨率为224x224。它由刘等人在论文中首次介绍,并于其后发布。
免责声明:发布Swin Transformer的团队未为该模型撰写模型卡片,因此这个模型卡片是由Hugging Face团队编写的。
Swin Transformer是一种视觉Transformer。它通过在更深层次上合并图像块(显示为灰色)来构建分层特征图,并且由于仅在每个局部窗口(显示为红色)内计算自注意力,其计算复杂度与输入图像大小呈线性关系。因此,它可用作图像分类和密集识别任务的通用主干。相比之下,先前的视觉Transformer生成单一低分辨率的特征图,并且由于全局自注意力的计算,其计算复杂度与输入图像大小呈二次关系。
您可以使用原始模型进行图像分类。请查看 model hub 以寻找在您感兴趣的任务上进行微调的版本。
以下是如何使用此模型将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-large-patch4-window7-224-in22k") model = SwinForImageClassification.from_pretrained("microsoft/swin-large-patch4-window7-224-in22k") 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 。
@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} }