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

timm/vit_tiny_patch16_224.augreg_in21k_ft_in1k on Ascend NPU

1. 简介

本项目将 ModelScope 上的 timm/vit_tiny_patch16_224.augreg_in21k_ft_in1k 模型适配为可在单卡华为昇腾 NPU(Ascend910)上运行的提交工程。

模型采用 timm.create_model(pretrained=False) 创建结构,并通过 ModelScope snapshot_download 下载本地权重后进行加载,全程不使用 HuggingFace 直连下载,不 fallback。

2. 验证环境

项目版本/型号
NPUAscend910_9362
npu-smi25.5.2
PyTorch2.9.0+cpu
torch_npu已安装
timm1.0.27
modelscope1.35.3

3. 推理运行

python inference.py

模型通过 model_utils.py 统一加载:

  • modelscope.snapshot_download 下载权重
  • timm.create_model(..., pretrained=False) 创建结构
  • 本地 model.safetensors 加载权重

推理在 npu:0 上执行,输入为 assets/test.jpg,输出 1000 类 logits,取 Top-5 展示。

推理输出示例:

============================================================
Inference on Ascend NPU
============================================================
Model: timm/vit_tiny_patch16_224.augreg_in21k_ft_in1k
Model dir: /opt/atomgit/.cache/modelscope/hub/models/timm/vit_tiny_patch16_224___augreg_in21k_ft_in1k
Weights: /opt/atomgit/.cache/modelscope/hub/models/timm/vit_tiny_patch16_224___augreg_in21k_ft_in1k/model.safetensors
Missing keys: 0, Unexpected keys: 0
Model moved to npu:0
Input shape: torch.Size([1, 3, 224, 224])
Output shape: torch.Size([1, 1000])

Top-5 predictions:
  class_447: 0.303056
  class_538: 0.102479
  class_787: 0.056499
  class_727: 0.050405
  class_581: 0.043690

Inference completed successfully.

4. 精度验证

python eval_accuracy.py

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

指标数值
max_abs_error0.019603
mean_abs_error0.005047
relative_error0.2303%
cosine_similarity0.999997
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标数值
Avg latency5.223 ms
Min latency5.185 ms
Max latency5.269 ms
P505.217 ms
P905.264 ms
P955.267 ms
Images/sec191.45

测试条件:batch=1,输入 224x224,warmup=2,runs=10。

6. 精度评测

本工程仅提供 smoke consistency 验证。如需官方 ImageNet-1K Top-1/Top-5 精度,请使用标准评测数据集运行。

7. 自验证截图

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

8. 日志文件

日志说明
logs/env_check.logNPU 环境检查
logs/paths.txtModelScope 下载路径记录
logs/inference.log推理结果
logs/accuracy.logCPU/NPU 一致性对比
logs/benchmark.log性能基准测试

9. 注意事项

  1. 权重文件(*.bin, *.safetensors, *.pth, *.pt, *.ckpt, *.onnx)已加入 .gitignore,不提交到仓库。
  2. 首次运行时会通过 ModelScope 自动下载模型权重到本地缓存目录。
  3. 运行前请确保 NPU 驱动和 torch_npu 已正确安装。

10. 标签

#NPU