模型:
google/vit-base-patch32-224-in21k
任务:
特征提取许可:
apache-2.0Vision Transformer(ViT)模型在224x224分辨率下,在ImageNet-21k(1400万图像,21843个类别)上进行了预训练。它在Dosovitskiy等人的论文中被引入,首次发布于Hugging Face。然而,权重是由Ross Wightman转换自JAX到PyTorch的 timm repository 版本。感谢他的贡献。
免责声明:释放ViT的团队并未为该模型编写模型说明书,因此此模型卡片由Hugging Face团队编写。
Vision Transformer(ViT)是一个基于transformer编码器的模型(类似BERT),以224x224像素的图像集合为监督,即ImageNet-21k,在固定大小的补丁序列(32x32分辨率)中呈现图像,然后进行线性嵌入。还在序列的开头添加了[CLS]标记,用于分类任务。在将序列输入Transformer编码器的层之前,还添加了绝对位置嵌入。
请注意,此模型不提供任何精调的头部,因为谷歌研究人员将其置零。然而,该模型包括预训练的池化器,可用于下游任务(如图像分类)。
通过对模型进行预训练,它学习了图像的内部表示,然后可以用于提取用于下游任务的特征:例如,如果您有一个标记图像的数据集,可以在预训练的编码器之上放置一个线性层,从而训练一个标准分类器。通常将线性层放置在[CLS]标记上,因为该标记的最后隐藏状态可以视为整个图像的表示。
可以使用原始模型进行图像分类。请参阅 model hub 以查找您感兴趣的任务的精调版本。
以下是在PyTorch中使用此模型的方法:
from transformers import ViTImageProcessor, ViTModel from PIL import Image import requests url = 'http://images.cocodataset.org/val2017/000000039769.jpg' image = Image.open(requests.get(url, stream=True).raw) processor = ViTImageProcessor.from_pretrained('google/vit-base-patch32-224-in21k') model = ViTModel.from_pretrained('google/vit-base-patch32-224-in21k') inputs = processor(images=image, return_tensors="pt") outputs = model(**inputs) last_hidden_state = outputs.last_hidden_state
有关在TensorFlow和JAX / FLAX中使用的用法,请参考 docs .
ViT模型在 ImageNet-21k 上进行了预训练,该数据集由1400万张图像和21k个类别组成。
关于训练/验证期间图像的预处理的详细信息可以在 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} }