g
gyccc/timm-mobilenetv4_conv_small.e2400_r224_in1k-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

timm/mobilenetv4_conv_small.e2400_r224_in1k on Ascend NPU

1. 简介

本工程将 ModelScope 模型 timm/mobilenetv4_conv_small.e2400_r224_in1k 适配为可在单卡昇腾 NPU(Ascend910)上运行的图片分类推理工程。模型通过 ModelScope snapshot_download 下载,使用 timm.create_model(..., pretrained=False) 创建结构并加载本地权重,不依赖 HuggingFace 自动下载,不 fallback。

2. 验证环境

  • NPU: Ascend910 (npu-smi 25.5.2)
  • CANN: 8.5.1
  • PyTorch: with torch_npu support
  • Python: 3.11

3. 推理运行

python inference.py

模型会加载本地权重到 npu:0,对 assets/test.jpg 进行推理并输出 Top-5 分类结果。推理日志写入 logs/inference.log。

4. 精度验证

python eval_accuracy.py

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

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

5. 性能参考

python benchmark.py

预热 2 次后测量 10 次迭代,统计 latency 与吞吐量。日志写入 logs/benchmark.log。

参考结果(单卡 batch=1):

  • Avg latency: 4.49 ms
  • Images/sec: 222.49

6. 精度评测

本项目仅提供 Smoke Consistency 验证(CPU vs NPU 输出一致性),未在完整 ImageNet 验证集上跑官方 Top-1/Top-5 精度。如需完整精度评测,请自行准备 ImageNet 数据集并扩展 eval 脚本。

7. 自验证截图

  • screenshots/self_verification.txt: 验证摘要文本
  • screenshots/self_verification.png: 验证摘要图片

8. 日志文件

  • logs/env_check.log: 环境检查结果
  • logs/inference.log: 推理输出
  • logs/accuracy.log: 精度一致性对比
  • logs/benchmark.log: 性能基准
  • logs/paths.txt: 模型下载路径记录

9. 注意事项

  • 运行前请确保已 source CANN 环境变量(如 /usr/local/Ascend/cann-8.5.1/set_env.sh)。
  • 权重文件通过 ModelScope 自动下载到本地缓存,工程目录内不提交权重。
  • 首次运行时会自动下载模型权重,请确保网络可达 ModelScope。

10. 标签

#NPU