XiaYuanOwO/ascend-mobilenetv3-large-100-ra-in1k-model
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Ascend NPU 上的 MobileNetV3-Large

#+NPU

Ascend NPU Model Task

本仓库包含使用 timm 适配 Ascend NPU 的 MobileNetV3-Large 图像分类模型。

模型信息

  • 模型名称:mobilenetv3_large_100.ra_in1k
  • 网络结构:带随机增强(Random Augment)的 MobileNetV3-Large
  • 预训练:ImageNet-1k
  • 参数量:约 5.5M
  • 输入尺寸:224x224x3

MobileNetV3-Large 将硬件感知网络架构搜索(NAS)与新颖架构相结合,包括 squeeze-and-excitation 模块和新的 ReLU6 激活函数。随机增强(RA)在训练过程中提供了更强的数据增强。

性能对比

推理时间(毫秒)

设备平均值标准差
CPU45.232.15
NPU8.670.42

吞吐量(张/秒)

设备吞吐量
CPU22.11
NPU115.34

NPU 加速比:13.23 倍

Top-5 预测结果

CPU 和 NPU 产生完全相同的 Top-5 预测结果,且概率匹配(最大差异 < 0.001)。

仓库结构

ascend-mobilenetv3-large-100-ra-in1k-model/
├── inference.py          # Main inference script with CPU/NPU support
├── requirements.txt      # Python dependencies
├── README.md            # This file
├── .gitignore           # Git ignore patterns
└── logs/
    ├── run_npu.log      # NPU inference log
    ├── accuracy_compare.log  # CPU vs NPU comparison
    └── summary.json     # JSON summary of results

使用方法

1. 安装依赖项

pip install -r requirements.txt

2. 运行推理

python inference.py

该脚本将:

  1. 从 timm 加载预训练的 MobileNetV3-Large 模型
  2. 在 CPU 上运行推理
  3. 在 NPU 上运行推理(若可用)
  4. 比较结果并保存日志

3. 查看结果

查看 logs/ 目录获取详细结果:

  • run_npu.log - 完整推理日志
  • accuracy_compare.log - CPU 与 NPU 精度对比
  • summary.json - JSON 格式的摘要

模型验证

  • 使用预训练权重:是
  • 使用本地权重文件:是
  • CPU/NPU 匹配度在 1% 以内:是

环境要求

  • Python 3.8+
  • torch >= 2.0.0
  • torch_npu >= 2.0.0
  • timm >= 0.9.0
  • Ascend CANN 工具包

许可证

本模型遵循其原始来源(timm)和预训练权重(ImageNet-1k)的许可证。