g
gyccc/timm-vit_base_patch16_224.augreg_in21k_ft_in1k-NPU
模型介绍文件和版本Pull Requests讨论分析

timm/vit_base_patch16_224.augreg_in21k_ft_in1k on Ascend NPU

1. 简介

本工程将 timm/vit_base_patch16_224.augreg_in21k_ft_in1k(ViT-Base/16,ImageNet-21K 预训练后在 ImageNet-1K 微调)适配为可在单卡昇腾 NPU(Ascend910B)上运行的推理提交工程。

  • 模型来源:ModelScope(snapshot_download)
  • 模型结构:timm.create_model(pretrained=False) + 本地权重加载
  • 权重格式:safetensors(model.safetensors, 330.2 MB)
  • 参数量:86,567,656
  • 输入尺寸:1×3×224×224
  • 输出维度:1×1000(ImageNet-1K 类别)

2. 验证环境

  • NPU:Ascend910B
  • npu-smi:OK
  • PyTorch:torch + torch_npu
  • timm:支持 vit_base_patch16_224.augreg_in21k_ft_in1k

3. 推理运行

pip install -r requirements.txt
python inference.py

推理输出 Top-5 预测:

排名类别概率
1class_1450.1473
2class_1500.1282
3class_4600.0790
4class_9780.0673
5class_1430.0377

4. 精度验证

python eval_accuracy.py

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

指标数值
max_abs_error0.053004
mean_abs_error0.010709
relative_error0.7840%
cosine_similarity0.999971
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标结果
Warmup2 次
迭代次数10 次
平均延迟5.17 ms
最小延迟5.11 ms
最大延迟5.23 ms
P50 延迟5.18 ms
P90 延迟5.21 ms
P95 延迟5.22 ms
吞吐量193.27 images/sec

6. 精度评测

本工程提供 smoke 一致性验证(eval_accuracy.py),验证 CPU 与 NPU 推理结果的一致性。Top-1/Top-5 均匹配,logit 最大差异 < 0.06。

若需完整 ImageNet 精度评测,请使用独立的评测脚本和完整验证集。

7. 自验证截图

详见 screenshots/self_verification.png 和 screenshots/self_verification.txt。

8. 日志文件

  • logs/inference.log — 推理结果
  • logs/accuracy.log — 精度验证结果
  • logs/benchmark.log — 性能基准测试结果
  • logs/paths.txt — 模型路径记录

9. 注意事项

  • 本工程使用 ModelScope snapshot_download 作为唯一下载方式,不使用 HuggingFace 直连
  • 使用 timm.create_model(pretrained=False) 创建模型结构,通过本地权重文件加载参数
  • 权重文件(model.safetensors)未提交至仓库(见 .gitignore)
  • 推理结果使用 class_x 格式(无 id2label 映射)

10. 标签

#NPU

下载使用量0