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

timm/maxvit_small_tf_224.in1k on Ascend NPU

1. 简介

本项目将 timm/maxvit_small_tf_224.in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910),支持真实 NPU 推理、CPU-NPU 精度一致性验证以及性能基准测试。

  • 模型类型: 图片分类 (Image Classification)
  • 输入尺寸: 224x224
  • 输出类别: 1000 (ImageNet-1k)
  • 权重来源: ModelScope snapshot_download
  • 加载方式: timm.create_model(pretrained=False) + 本地权重加载
  • 设备: Ascend910 (npu:0)

2. 验证环境

项目版本/信息
NPUAscend910
npu-smi25.5.2
PyTorch NPUAvailable
Device NameAscend910_9362

3. 推理运行

pip install -r requirements.txt
python inference.py

inference.py 会加载模型到 npu:0,对 assets/test.jpg 进行推理,并输出 Top-5 预测结果到 logs/inference.log。

4. 精度验证

python eval_accuracy.py

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

指标数值
max_abs_error0.002170
mean_abs_error0.000480
relative_error0.1225%
cosine_similarity0.999999
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标数值
Avg latency23.42 ms
Min latency22.00 ms
Max latency24.32 ms
P50 latency23.29 ms
P90 latency24.26 ms
P95 latency24.29 ms
Throughput42.70 images/sec

测试条件:warmup 2 次,正式运行 10 次,batch_size=1,输入 224x224。

6. 精度评测

本项目未在完整 ImageNet-1k 验证集上运行官方精度评测。eval_accuracy.py 提供的是单张测试图的 CPU-NPU 一致性 smoke check,用于验证 NPU 推理结果与 CPU 基线对齐。

7. 自验证截图

自验证摘要见 screenshots/self_verification.txt 和 screenshots/self_verification.png。

8. 日志文件

  • logs/env_check.log — NPU 环境信息
  • logs/inference.log — 推理结果与 Top-5 预测
  • logs/accuracy.log — CPU-NPU 一致性对比
  • logs/benchmark.log — 性能基准测试数据

9. 注意事项

  1. 权重通过 ModelScope snapshot_download 下载,不会提交到本仓库。
  2. 运行前请确保昇腾 NPU 驱动和 torch_npu 已正确安装。
  3. 首次运行会自动从 ModelScope 拉取权重到本地缓存目录。

10. 标签

#NPU #Ascend #timm #maxvit #image-classification