z
zhangyuge147/timm-deit_small_patch16_224.fb_in1k-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

timm/deit_small_patch16_224.fb_in1k on Ascend NPU

1. 简介

本项目将 timm/deit_small_patch16_224.fb_in1k 图片分类模型适配到昇腾 NPU (Ascend910)。

使用 ModelScope snapshot_download 下载本地权重,timm.create_model(pretrained=False) 加载模型,支持单卡 NPU 推理、CPU-NPU 精度一致性检查和性能基准测试。

2. 验证环境

项目版本/信息
NPUAscend910 (Ascend910_9362)
CANN8.5.1
PyTorch2.x
torch_npu适配 CANN 8.5.1
timmlatest

3. 推理运行

pip install -r requirements.txt
python inference.py

推理结果 (NPU Top-5):

  • Top-1: class_977 (0.2008)
  • Top-2: class_978 (0.1474)
  • Top-3: class_872 (0.1381)
  • Top-4: class_975 (0.0860)
  • Top-5: class_494 (0.0769)

日志保存在 logs/inference.log。

4. 精度验证

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

指标数值
max_abs_error0.015557
mean_abs_error0.003414
relative_error0.4661%
cosine_similarity0.999993
threshold1.0%
结果PASS
  • CPU Top-1: class_977
  • NPU Top-1: class_977
  • CPU Top-5: class_977, class_978, class_872, class_975, class_494
  • NPU Top-5: class_977, class_978, class_872, class_975, class_494
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

指标数值
avg_latency_ms5.86
min_latency_ms5.79
max_latency_ms5.91
p50_latency_ms5.86
p90_latency_ms5.91
p95_latency_ms5.91
images_per_sec170.69
batch_size1

注:性能数据在单卡 Ascend910 上测得,实际数值可能因驱动/CANN 版本、温度、负载等因素波动。

6. 精度评测说明

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

7. 自验证截图

见 screenshots/self_verification.png。

8. 日志文件

文件说明
logs/inference.log推理输出日志
logs/accuracy.logCPU-NPU 精度一致性日志
logs/benchmark.log性能基准测试日志
logs/env_check.logNPU 环境检查日志
logs/stage0.log阶段 0 模型可用性检查日志

9. 注意事项

  1. 权重加载方式:严禁使用 timm.create_model(..., pretrained=True) 自动从 HuggingFace 下载。本工程通过 ModelScope snapshot_download 获取本地权重后,以 pretrained=False 创建模型并手动 load_state_dict。
  2. NPU 设备:默认使用 npu:0,如需更换设备请修改脚本中的 .to("npu:0")。
  3. 测试图片:assets/test.jpg 为随机下载的测试图,仅用于 smoke 验证,不保证分类语义正确性。

10. 标签

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