ONNX 模型库
返回模型

说明文档

模型描述

MobileNetV2 是一个简单的网络架构,允许构建一系列高效的移动端模型。它支持内存高效的推理。MobileNetV2 通常用于图像分类任务,也可用于目标检测和图像分割任务。所有任务都展示了有竞争力的结果。

该模型命名为 mobilenet_v2_depth_size,例如 mobilenet_v2_1.4_224,其中 1.4 是深度乘数,224 是模型训练时输入图像的分辨率。

预期用途与限制

您可以使用原始模型进行图像分类。请查看 模型中心 以寻找适合您感兴趣的任务的微调版本。

如何使用

安装

  1. 按照 Ryzen AI 安装指南 为 Ryzen AI 准备环境。

  2. 运行以下脚本安装此模型的依赖项。

    pip install -r requirements.txt 
    

测试与评估

  • 对单张图像进行推理(图像分类):

    import sys
    import onnxruntime
    import torch
    import torchvision.transforms as transforms 
    from PIL import Image
    
    image_path = sys.argv[1]
    onnx_model = sys.argv[2]
    
    normalize = transforms.Normalize(
      mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
    img_transformer = transforms.Compose([
                    transforms.Resize(256),
                    transforms.CenterCrop(224),
                    transforms.ToTensor(),  
                    normalize])
    img_tensor = img_transformer(Image.open(image_path)).unsqueeze(0)
    img_tensor = torch.permute(img_tensor, (0, 2, 3, 1))
    so = onnxruntime.SessionOptions()
    ort_session = onnxruntime.InferenceSession(
            onnx_model, so, 
            providers=['CPUExecutionProvider'], 
            provider_options=None)
    input = img_tensor.numpy()
    ort_input = {ort_session.get_inputs()[0].name: input}
    
    output = ort_session.run(None, ort_input)
    top5_probabilities, top5_class_indices = torch.topk(torch.nn.functional.softmax(torch.tensor(output[0])), k=5)
    
  • 使用 eval_onnx.py 评估 ImageNet 验证数据集(50,000 张图像)。

    • 在 CPU 上测试量化模型的准确率。

      python eval_onnx.py  --onnx_model=./mobilenetv2_int8.onnx --data_dir=./{DATA_PATH}
      
    • 在 IPU 上测试量化模型的准确率。

      python eval_onnx.py  --onnx_model=./mobilenetv2_int8.onnx --data_dir=./{DATA_PATH} --ipu --provider_config Path\To\vaip_config.json
      
    • 用户可以使用 ryzen-ai-sw-1.0.zip 文件中 voe-4.0-win_amd64 文件夹里的 vaip_config.json

DATA_PATH:ImageNet 数据集的路径,其中包含 validation 文件夹。

性能

数据集:ImageNet 验证数据集(50,000 张图像)。

指标 IPU 上的准确率
top1 & top5 准确率 75.62% / 92.52%

引用

@article{MobileNet v2,
  author       = {Mark Sandler and
                  Andrew G. Howard and
                  Menglong Zhu and
                  Andrey Zhmoginov and
                  Liang{-}Chieh Chen},
  title        = {MobileNetV2: Inverted Residuals and Linear Bottlenecks},
  year         = {2018},
  url          = {http://arxiv.org/abs/1801.04381},
}

amd/mobilenet_v2_1.0_224

作者 amd

image-classification
↓ 0 ♥ 0

创建时间: 2023-12-04 09:28:36+00:00

更新时间: 2024-01-12 03:53:51+00:00

在 Hugging Face 上查看

文件 (5)

.gitattributes
README.md
eval_onnx.py
mobilenetv2_int8.onnx ONNX
requirements.txt