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

timm/convmixer_768_32.in1k on Ascend NPU

1. 简介

本项目将 timm/convmixer_768_32.in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910)。模型使用 ModelScope 下载本地权重,timm.create_model(pretrained=False) 加载,支持真实 NPU 推理、CPU-NPU 精度一致性验证与性能基准测试。

2. 验证环境

项目版本/型号
NPUAscend910
CANN8.5.1
PyTorch2.x
torch_npu对应版本
timmlatest

3. 推理运行

pip install -r requirements.txt
python inference.py

推理结果 (NPU Top-5):

  • Top-1: class_591 (0.0035)
  • Top-2: class_549 (0.0035)
  • Top-3: class_838 (0.0032)
  • Top-4: class_473 (0.0028)
  • Top-5: class_861 (0.0026)

日志保存在 logs/inference.log。

4. 精度验证

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

指标数值
max_abs_error0.015085
mean_abs_error0.003345
relative_error0.3778%
cosine_similarity0.999990
threshold1.0%
结果PASS
  • CPU Top-1: class_591
  • NPU Top-1: class_591
  • CPU Top-5: class_591, class_549, class_838, class_473, class_861
  • NPU Top-5: class_591, class_549, class_838, class_473, class_861
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

在 Ascend910 NPU 上单图推理性能(768x768 输入):

指标数值
avg_latency0.016290 s
min_latency0.016270 s
max_latency0.016321 s
p50_latency0.016282 s
p90_latency0.016321 s
p95_latency0.016321 s
images_per_sec61.39

测试配置:预热 2 次,正式测试 10 次,每次前后 torch.npu.synchronize()。

6. 精度评测说明

本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。

7. 自验证截图

见 screenshots/self_verification.png。

8. 日志文件

  • logs/inference.log — NPU 推理输出
  • logs/accuracy.log — CPU-NPU 精度一致性
  • logs/benchmark.log — 性能基准测试

9. 注意事项

  • 严禁使用 timm.create_model(..., pretrained=True),必须通过 ModelScope snapshot_download + 本地权重加载。
  • 模型输入尺寸为 768x768,由 timm.data.resolve_model_data_config 自动解析。
  • 未提交任何权重文件(.bin/.safetensors/.pth 等已加入 .gitignore)。

10. 标签

#NPU #Ascend #Ascend910 #timm #image-classification