英文

MobileNet V2

MobileNet V2模型是在ImageNet-1k数据集上以224x224分辨率进行预训练的。它是由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_深度_大小,例如mobilenet_v2_1.0_224,其中1.0是深度乘数,224是模型训练时输入图像的分辨率。

预期用途和限制

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

如何使用

使用此模型将COO 2017数据集的图像分类为1,000个ImageNet类之一的方法如下:

from transformers import MobileNetV2FeatureExtractor, MobileNetV2ForImageClassification
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 = MobileNetV2FeatureExtractor.from_pretrained("Matthijs/mobilenet_v2_1.0_224")
model = MobileNetV2ForImageClassification.from_pretrained("Matthijs/mobilenet_v2_1.0_224")

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])

注意:该模型实际上预测1001个类别,其中包括ImageNet的1000个类别和一个额外的“背景”类别(索引为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}
}