模型:
apple/mobilevit-small
MobileViT模型在256x256分辨率下使用ImageNet-1k进行预训练。由Sachin Mehta和Mohammad Rastegari于 MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer 年推出,并于 this repository 年首次发布。使用的许可证是 Apple sample code license 。
免责声明:发布MobileViT的团队未为该模型编写模型卡片,因此此模型卡片由Hugging Face团队编写。
MobileViT是一种轻量级、低延迟的卷积神经网络,它将MobileNetV2风格的层与使用transformer进行全局处理以替换卷积中的局部处理的新块结合起来。与ViT(Vision Transformer)一样,图像数据在被transformer层处理之前被转换为扁平化的patch。然后,将这些patch“展开”成特征图。这允许在CNN中的任何位置放置MobileViT块。MobileViT不需要任何位置嵌入。
您可以使用原始模型进行图像分类。查看 model hub 以查找您感兴趣的任务的微调版本。
以下是如何使用此模型将COCO 2017数据集的图像分类为其中一个1,000个ImageNet类别的方法:
from transformers import MobileViTFeatureExtractor, MobileViTForImageClassification 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 = MobileViTFeatureExtractor.from_pretrained("apple/mobilevit-small") model = MobileViTForImageClassification.from_pretrained("apple/mobilevit-small") 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])
目前,特征提取器和模型都支持PyTorch。
MobileViT模型在 ImageNet-1k 上进行了预训练,该数据集包含1百万个图像和1,000个类别。
训练仅需要基本的数据增强,即随机调整大小的裁剪和水平翻转。
为了学习多尺度表示而不需要微调,训练过程中使用了多尺度采样器,图像尺寸从以下范围随机采样:(160, 160), (192, 192), (256, 256), (288, 288), (320, 320)。
在推理时,图像被调整大小/缩放到相同的分辨率(288x288),并进行中心裁剪为256x256。
像素被归一化到范围[0, 1]。图像应以BGR像素顺序而不是RGB格式提供。