Swin Transformer 模型在 ImageNet-1k 上以 224x224 的分辨率进行训练。它由 Liu 等人在论文Swin Transformer: Hierarchical Vision Transformer using Shifted Windows中提出,并首次在this repository中发布。
免责声明:发布 Swin Transformer 的团队未为此模型编写模型卡片,因此本模型卡片由开源团队编写。
Swin Transformer 是一种视觉Transformer。它通过在更深层合并图像块(灰色所示)来构建分层特征图,并且由于仅在每个局部窗口(红色所示)内进行自注意力计算,因此其计算复杂度与输入图像大小呈线性关系。因此,它可以作为图像分类和密集识别任务的通用主干网络。相比之下,先前的视觉Transformer仅生成单一低分辨率的特征图,并且由于全局自注意力计算,其计算复杂度与输入图像大小呈二次关系。
您可以使用原始模型进行图像分类。请参阅model hub,查找您感兴趣任务的微调版本。
以下是如何使用此模型将 COCO 2017 数据集的图像分类为 1000 个 ImageNet 类别之一的方法:
import torch
import torch_npu
import argparse
from openmind import pipeline, is_torch_npu_available
from openmind import AutoImageProcessor
from openmind import AutoModel
from PIL import Image
import requests
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default=None,
)
args = parser.parse_args()
return args
def main():
args = parse_args()
if args.model_name_or_path:
model_path = args.model_name_or_path
else:
model_path = snapshot_download(
"GuangxiAICC/swin-base-patch4-window7-224",
revision="main",
ignore_patterns=["*.h5", "*.ot", "*.msgpack"],
)
if is_torch_npu_available():
device = "npu:0"
else:
device = "cpu"
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained(model_path)
model = AutoModel.from_pretrained(model_path).to(device)
inputs = processor(images=image, return_tensors="pt").to(device)
outputs = model(**inputs)
print("Predicted class:", outputs)
if __name__=="__main__":
main()如需更多代码示例,请参考文档。
@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}
}