🚀 MobileNet V2
MobileNet V2是一个在ImageNet-1k数据集上以224x224分辨率预训练的模型。它能够高效地处理图像分类任务,为图像识别领域提供了轻量级且高效的解决方案。
🚀 快速开始
你可以使用这个预训练的模型进行图像分类任务。以下是一个使用示例,展示了如何将COCO 2017数据集中的一张图像分类为1000个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_1.0_224")
model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.0_224")
inputs = preprocessor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
注意:这个模型实际上预测1001个类别,即1000个ImageNet类别加上一个额外的“背景”类别(索引为0)。目前,特征提取器和模型都支持PyTorch。
✨ 主要特性
- 轻量级设计:MobileNet系列模型以其小尺寸、低延迟和低功耗的特点而闻名,能够在资源受限的设备上高效运行。
- 灵活性:可以基于该模型进行分类、检测、嵌入和分割等任务,类似于其他流行的大规模模型,如Inception。
- 权衡性能:在延迟、模型大小和准确性之间进行了良好的权衡,与文献中的流行模型相比具有竞争力。
📦 安装指南
文档中未提及具体安装步骤,可参考Hugging Face的transformers
库安装指南:
pip install transformers
💻 使用示例
基础用法
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_1.0_224")
model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.0_224")
inputs = preprocessor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
高级用法
目前文档未提供高级用法示例,你可以根据具体需求对模型进行微调或结合其他技术进行使用。
📚 详细文档
模型描述
根据原始README:
MobileNet是小型、低延迟、低功耗的模型,其参数经过优化以满足各种用例的资源限制。它们可以像其他流行的大规模模型(如Inception)一样,用于分类、检测、嵌入和分割等任务。MobileNet可以在移动设备上高效运行 [...] MobileNet在延迟、大小和准确性之间进行了权衡,与文献中的流行模型相比具有优势。
检查点命名为mobilenet_v2_depth_size,例如mobilenet_v2_1.0_224,其中1.0是深度乘数,224是模型训练时输入图像的分辨率。
预期用途和限制
你可以使用原始模型进行图像分类。请查看模型中心以查找针对你感兴趣的任务进行微调的版本。
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}
}
📄 许可证
该模型的许可证为其他类型。
📋 信息表格
属性 |
详情 |
模型类型 |
图像分类模型 |
训练数据 |
ImageNet-1k |