g
gyccc/timm-mobilenetv4_conv_medium.e500_r224_in1k-NPU
模型介绍文件和版本Pull Requests讨论分析

timm/mobilenetv4_conv_medium.e500_r224_in1k on Ascend NPU

1. 简介

本项目将 timm/mobilenetv4_conv_medium.e500_r224_in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910),使其能够进行高效推理。

模型来源:ModelScope
模型类型:Image Classification
输入尺寸:224x224
类别数:1000

2. 验证环境

  • NPU: Ascend910
  • CANN: 25.5.2
  • Python: 3.11
  • torch: 2.x
  • torch_npu: 适配 CANN 25.5.2
  • timm: latest

环境详情见 logs/env_check.log。

3. 推理运行

pip install -r requirements.txt
python inference.py

推理结果 (NPU Top-5):

  • Top-1: class_442 (0.3061)
  • Top-2: class_698 (0.2374)
  • Top-3: class_497 (0.0808)
  • Top-4: class_409 (0.0217)
  • Top-5: class_483 (0.0210)

日志保存在 logs/inference.log。

4. 精度验证

python eval_accuracy.py

对单张测试图片进行 CPU 与 NPU 一致性验证:

指标数值
max_abs_error0.005341
mean_abs_error0.001540
relative_error0.0184%
cosine_similarity1.000000
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标值
Avg latency7.68 ms
Min latency7.64 ms
Max latency7.78 ms
P50 latency7.67 ms
P90 latency7.78 ms
P95 latency7.78 ms
Throughput130.21 images/sec

测试配置:预热 2 次,正式 10 次,batch_size=1,输入 224x224。

6. 精度评测

本工程未包含完整 ImageNet 验证集精度评测,仅提供 CPU-NPU 一致性 Smoke 测试。如需完整精度评测,请使用 ImageNet-1K 验证集运行标准评测流程。

7. 自验证截图

见 screenshots/self_verification.png 和 screenshots/self_verification.txt。

8. 日志文件

  • logs/env_check.log — NPU 环境信息
  • logs/inference.log — 推理输出日志
  • logs/accuracy.log — CPU-NPU 精度一致性日志
  • logs/benchmark.log — 性能基准测试日志
  • logs/paths.txt — 模型下载路径记录

9. 注意事项

  1. 权重文件通过 ModelScope 自动下载到本地缓存,无需手动放置。
  2. 请勿将 .bin / .safetensors / .pth / .pt / .ckpt / .onnx 等权重文件提交到仓库。
  3. 首次运行时会自动下载模型权重(约 37MB),请确保网络畅通。
  4. 请确保 npu-smi info 可正常显示 NPU 设备后再运行推理脚本。

10. 标签

#NPU #Ascend #ImageClassification #timm #MobileNetV4

下载使用量0