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

timm/vit_tiny_r_s16_p8_224.augreg_in21k on Ascend NPU

1. 简介

本项目将 timm/vit_tiny_r_s16_p8_224.augreg_in21k 图片分类模型适配到单卡昇腾 NPU(Ascend910)上运行。模型通过 ModelScope snapshot_download 下载权重,使用 timm.create_model(pretrained=False) 创建结构并加载本地权重,在 NPU 上完成真实推理验证、CPU-NPU 精度一致性检查和性能基准测试。

  • 原始模型:timm/vit_tiny_r_s16_p8_224.augreg_in21k
  • 模型类型:Vision Transformer (ViT)
  • 输入尺寸:224x224
  • 输出类别数:21843(ImageNet-21k)

2. 验证环境

项目版本/型号
NPUAscend910
CANN8.5.1
PyTorch2.9.0+cpu
torch_npu与 CANN 8.5.1 配套
timm1.0.27
modelscope1.35.3
Python3.11.14

3. 推理运行

pip install -r requirements.txt
python inference.py

inference.py 会自动下载测试图片(或生成占位图),通过 model_utils.py 加载模型到 npu:0 执行推理,并输出 Top-5 预测结果到 logs/inference.log。

4. 精度验证

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

指标数值
max_abs_error0.032700
mean_abs_error0.005373
relative_error0.0425%
cosine_similarity1.000000
threshold1.0%
结果PASS
  • CPU Top-1: class_7681
  • NPU Top-1: class_7681
  • CPU Top-5: class_7681, class_5866, class_4777, class_13813, class_8677
  • NPU Top-5: class_7681, class_5866, class_4777, class_13813, class_8677
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

指标数值
avg_latency5.922 ms
min_latency5.883 ms
max_latency5.953 ms
p50_latency5.924 ms
p90_latency5.938 ms
p95_latency5.938 ms
images_per_sec168.85

测试配置:warmup 2 次 + 正式 10 次,batch_size=1,device=npu:0

6. 精度评测说明

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

7. 自验证截图

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

8. 日志文件

文件说明
logs/inference.log推理结果与 Top-5 预测
logs/accuracy.logCPU-NPU 精度一致性检查
logs/benchmark.logNPU 性能基准测试
logs/paths.txt模型与权重本地路径

9. 注意事项

  1. 权重通过 ModelScope snapshot_download 下载,不使用 HuggingFace 直连,也不使用 timm.create_model(..., pretrained=True) 自动下载。
  2. 模型权重文件(.safetensors / .bin / .pth 等)不包含在本仓库中,首次运行时会自动从 ModelScope 下载到本地缓存。
  3. 本项目仅验证单卡 NPU 推理,未涉及多卡并行(TP/DP/EP)。
  4. 测试图片为随机网络图片或占位灰度图,仅用于 smoke test,不代表真实分类任务性能。

10. 标签 #NPU

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