英文

MobileNet V2

MobileNet V2 模型在 ImageNet-1k 数据集上以 96x96 的分辨率预训练。它由 Mark Sandler、Andrew Howard、Menglong Zhu、Andrey Zhmoginov 和 Liang-Chieh Chen 在 MobileNetV2: Inverted Residuals and Linear Bottlenecks 年提出,并在 this repository 年首次发布。

免责声明:MobileNet V2 团队没有为该模型编写模型卡片,因此该模型卡片是由 Hugging Face 团队编写的。

模型描述

来自 original README

MobileNets 是小型、低延迟、低功耗的模型,参数化以满足各种应用场景的资源限制。它们可以用于分类、检测、嵌入和分割,类似于其他流行的大规模模型(如 Inception)的用法。MobileNets 可以在移动设备上高效运行[...] 在延迟、大小和准确性之间做出权衡,并与文献中的流行模型相比表现良好。

检查点的名称为 mobilenet_v2_ depth _ size ,例如 mobilenet_v2_0.35_96 ,其中 0.35 是深度乘法器,96 是模型训练的输入图像的分辨率。

拟合使用 & 限制

您可以使用原始模型进行图像分类。查看 model hub ,查找您感兴趣的任务的微调版本。

如何使用

以下是如何使用此模型将 COCO 2017 数据集中的图像分类为 1,000 个 ImageNet 类别之一:

from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import requests

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

preprocessor = AutoImageProcessor.from_pretrained("google/mobilenet_v2_0.35_96")
model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_0.35_96")

inputs = preprocessor(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])

注意:该模型实际上预测 1001 个类别,即从 ImageNet 获取的 1000 个类别加上额外的 “background” 类别(索引为 0)。

目前,特征提取器和模型都支持 PyTorch。

BibTeX 条目和引用信息

@inproceedings{mobilenetv22018,
  title={MobileNetV2: Inverted Residuals and Linear Bottlenecks},
  author={Mark Sandler and Andrew Howard and Menglong Zhu and Andrey Zhmoginov and Liang-Chieh Chen},
  booktitle={CVPR},
  year={2018}
}