m0_74196153/tf_mobilenetv3_large_075-npu
模型介绍文件和版本Pull Requests讨论分析

MobileNetV3 Large 0.75

该模型是基于 MobileNetV3 架构的图像分类模型,在 ImageNet-1K 数据集上预训练。本仓库提供了在昇腾 NPU 上的完整适配和推理方案。

模型信息

  • 模型名称: timm/tf_mobilenetv3_large_075.in1k
  • 原始模型: ModelScope
  • 任务类型: 图像分类 (Image Classification)
  • 模型框架: PyTorch / timm
  • 输入格式: RGB 图像 (3×224×224)
  • 输出格式: 1000 类 ImageNet 分类概率
  • NPU 适配: 使用 torch_npu 在昇腾 Ascend910 上完成推理验证

依赖环境

  • torch>=2.0.0
  • timm>=1.0.0
  • torch-npu
  • Pillow
  • safetensors
  • modelscope

环境准备

安装依赖:

pip install torch timm torch-npu Pillow safetensors modelscope

模型权重自动从 ModelScope 下载(已适配国内网络环境)。

推理命令

使用随机输入进行推理:

python3 inference.py --model timm/tf_mobilenetv3_large_075.in1k

使用自定义图片推理:

python3 inference.py --model timm/tf_mobilenetv3_large_075.in1k --image test_input.jpg

CPU 与 NPU 精度对比:

python3 compare_cpu_npu.py --model timm/tf_mobilenetv3_large_075.in1k --image test_input.jpg

推理结果

在 Ascend910 NPU 上的推理结果如下:

指标CPUNPU
推理耗时31.34 ms174.11 ms
Top-1 类别549549

CPU Top-5 预测:

  • Class 549: 0.162870
  • Class 916: 0.039111
  • Class 844: 0.034275
  • Class 722: 0.028373
  • Class 714: 0.025811

NPU Top-5 预测:

  • Class 549: 0.163542
  • Class 916: 0.039121
  • Class 844: 0.034244
  • Class 722: 0.028382
  • Class 714: 0.025741

部署和推理方法

  1. 模型加载:使用 timm.create_model() 创建模型架构,从 ModelScope 本地缓存加载预训练权重。
  2. 数据预处理:使用 timm 的 resolve_data_config 和 create_transform 进行标准化预处理。
  3. CPU 推理:将模型加载到 CPU 设备上进行推理。
  4. NPU 推理:将模型加载到 Ascend NPU(npu:0)设备上,使用 torch_npu 扩展进行推理加速。

CPU/NPU 精度测试方法

  1. 加载预训练模型权重。
  2. 在 CPU 上进行推理,得到 logits 输出。
  3. 在 NPU 上进行推理,得到 logits 输出。
  4. 对比 CPU 和 NPU 输出的差异,评估指标包括:
    • Max absolute diff: 最大绝对差异
    • Mean absolute diff: 平均绝对差异
    • MSE: 均方误差
    • Cosine similarity: 余弦相似度
    • Relative error (%): 相对误差百分比
    • Class agreement (%): Top-1 类别一致率

CPU/NPU 精度测试结果

精度指标数值
Max absolute diff0.00957990
Mean absolute diff0.00218206
MSE0.00000761
Cosine similarity0.99999803
Relative error (%)0.0216%
Class agreement (%)100.00%

结论:NPU 与 CPU 推理结果误差 < 1%(相对误差 0.0216%),精度通过验证。

性能测试结果

设备推理耗时 (ms)
CPU31.34
NPU (Ascend910)174.11

终端输出截图

终端输出

标签

#+NPU #+CV #+图像分类 #+昇腾 #+Ascend #+PyTorch #+MobileNetV3

下载使用量0