🚀 Swin Transformer (小型模型)
Swin Transformer是在分辨率为224x224的ImageNet - 1k数据集上训练的模型。它为图像分类和密集识别任务提供了强大的支持,能有效处理图像数据。
🚀 快速开始
Swin Transformer模型可用于图像分类任务。你可以使用原始模型进行图像分类,也可以在模型中心查找针对你感兴趣的任务进行微调的版本。
以下是使用该模型将COCO 2017数据集中的图像分类为1000个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-small-patch4-window7-224")
model = SwinForImageClassification.from_pretrained("microsoft/swin-small-patch4-window7-224")
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])
更多代码示例请参考文档。
✨ 主要特性
- 分层特征映射:Swin Transformer通过在更深的层中合并图像块(灰色部分)来构建分层特征映射。
- 线性计算复杂度:由于仅在每个局部窗口(红色部分)内计算自注意力,它对输入图像大小具有线性计算复杂度。这使得它能够作为图像分类和密集识别任务的通用主干网络。
- 对比优势:与之前的视觉Transformer相比,它能产生不同分辨率的特征映射,且避免了全局自注意力计算带来的二次计算复杂度。
来源
💻 使用示例
基础用法
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-small-patch4-window7-224")
model = SwinForImageClassification.from_pretrained("microsoft/swin-small-patch4-window7-224")
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}
}
📄 许可证
本模型采用Apache - 2.0许可证。
信息表格
属性 |
详情 |
模型类型 |
Swin Transformer(小型模型) |
训练数据 |
ImageNet - 1k |
适用任务 |
图像分类、密集识别任务 |
免责声明
发布Swin Transformer的团队未为此模型编写模型卡片,此模型卡片由Hugging Face团队编写。