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

timm/vit_base_patch16_224.augreg_in21k on Ascend NPU

1. 简介

本项目将 ModelScope 上的 timm/vit_base_patch16_224.augreg_in21k 图片分类模型适配为可在单卡昇腾 NPU(Ascend910)上运行的提交工程。

  • 模型来源: ModelScope - timm/vit_base_patch16_224.augreg_in21k
  • 模型类型: Vision Transformer (ViT) 图片分类
  • 输入尺寸: 224x224
  • 输出类别: 21843 (ImageNet-21k)
  • 适配方式: timm.create_model(pretrained=False) + ModelScope 本地权重加载
  • 权重加载: missing=0, unexpected=0

2. 验证环境

项目版本/信息
NPUAscend910
npu-smi25.5.2
PyTorch NPU可用
设备名Ascend910_9362

详细环境信息见 logs/env_check.log。

3. 推理运行

python inference.py

推理脚本使用 model_utils.py 加载模型,通过 timm.data.resolve_model_data_config 自动解析预处理参数,在 npu:0 上执行真实推理。

关键结果

  • 输出 shape: [1, 21843]
  • 首次推理耗时: ~229 ms(含模型加载)
  • Top-5 预测结果: class_14101, class_5125, class_14404, class_11051, class_2230

4. Smoke 验证

python eval_accuracy.py

对同一张测试图分别在 CPU 和 NPU 上推理,对比 logits、概率分布、Top-1 和 Top-5 结果。

指标数值
Logits max diff2.88e-02
Logits MSE2.78e-05
Probs max diff1.54e-06
Top-1 一致True
Top-5 一致True

注:本验证为 CPU/NPU smoke consistency 对比,非官方 ImageNet 精度评测。

5. 性能参考

python benchmark.py
指标数值
平均耗时5.38 ms
最小耗时5.33 ms
最大耗时5.43 ms
P505.37 ms
P905.43 ms
P955.43 ms
images/sec186.03

测试条件:warmup 2 次,正式 10 次,单张 224x224 图片,batch=1。

6. 精度评测

本工程未在完整 ImageNet 验证集上运行。精度一致性验证见第 4 节 eval_accuracy.py 结果。

7. 自验证截图

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

8. 日志文件

  • logs/env_check.log — 环境检查
  • logs/inference.log — 推理结果
  • logs/accuracy.log — 精度一致性验证
  • logs/benchmark.log — 性能基准测试

9. 注意事项

  1. 权重文件通过 ModelScope snapshot_download 下载,不在本仓库提交。
  2. 严禁使用 timm.create_model(..., pretrained=True) 触发 HuggingFace 自动下载。
  3. 运行前请确保 NPU 驱动和 torch_npu 已正确安装。
  4. 测试图为占位图(网络下载失败时自动生成),推理结果仅供参考。

10. 标签

#NPU