模型:
google/vit-hybrid-base-bit-384
任务:
图像分类许可:
apache-2.0ViT 混合模型是由 Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit 和 Neil Houlsby 在 An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 年提出的。这是第一篇成功地在 ImageNet 上训练 Transformer 编码器的论文,与常见的卷积架构相比,取得了很好的结果。ViT 混合是纯粹的 Vision Transformer 的一个轻微变种,通过利用卷积主干 (具体来说是 BiT ) 的特征作为 Transformer 的初始 "token"。
免责声明:发布 ViT 的团队没有为这个模型编写模型卡片,因此此模型卡片由 Hugging Face 团队编写。
虽然 Transformer 架构已成为自然语言处理任务的事实标准,但它在计算机视觉中的应用仍然有限。在计算机视觉中,注意力要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体结构不变。我们表明,这种对 CNN 的依赖是不必要的,纯粹的 Transformer 直接应用于图像块序列可以在图像分类任务中表现出色。当在大量数据上预训练并转移到多个中等或小型图像识别基准 (ImageNet、CIFAR-100、VTAB 等) 上时,Vision Transformer (ViT) 达到了与先进的卷积网络相比非常好的结果,同时需要的计算资源要少得多。
您可以使用原始模型进行图像分类。查看 model hub 获取您感兴趣的任务上的精调版本。
以下是使用此模型将 COCO 2017 数据集中的图像分类为 1,000 个 ImageNet 类别的方法:
from transformers import ViTHybridImageProcessor, ViTHybridForImageClassification 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 = ViTHybridImageProcessor.from_pretrained('google/vit-hybrid-base-bit-384') model = ViTHybridForImageClassification.from_pretrained('google/vit-hybrid-base-bit-384') 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]) >>> tabby, tabby cat
更多代码示例,请参阅 documentation 。
ViT-Hybrid 模型使用 ImageNet-21k 进行预训练,该数据集包含 14 百万张图像和 21k 个类别,并使用 ImageNet 进行微调,该数据集包含 100 万张图像和 1k 个类别。
有关在训练/验证期间对图像进行预处理的确切细节,请参阅 here 。
图像被调整大小/缩放为相同的分辨率 (224x224),并在 RGB 通道上进行了标准化,均值为 (0.5, 0.5, 0.5),标准差为 (0.5, 0.5, 0.5)。
模型在 TPUv3 硬件 (8 个核心) 上训练。所有模型变体的批量大小为 4096,学习率预热为 10k 步。对于 ImageNet,作者发现另外应用全局范数 1 的梯度裁剪会带来益处。训练分辨率为 224。
有关几个图像分类基准的评估结果,请参阅原始论文的表2和表5。需要注意的是,对于微调,使用更高的分辨率 (384x384) 可获得最佳结果。当然,增加模型大小将获得更好的性能。
@misc{wu2020visual, title={Visual Transformers: Token-based Image Representation and Processing for Computer Vision}, author={Bichen Wu and Chenfeng Xu and Xiaoliang Dai and Alvin Wan and Peizhao Zhang and Zhicheng Yan and Masayoshi Tomizuka and Joseph Gonzalez and Kurt Keutzer and Peter Vajda}, year={2020}, eprint={2006.03677}, archivePrefix={arXiv}, primaryClass={cs.CV} }
@inproceedings{deng2009imagenet, title={Imagenet: A large-scale hierarchical image database}, author={Deng, Jia and Dong, Wei and Socher, Richard and Li, Li-Jia and Li, Kai and Fei-Fei, Li}, booktitle={2009 IEEE conference on computer vision and pattern recognition}, pages={248--255}, year={2009}, organization={Ieee} }