本项目将 ModelScope 上的 timm/vit_base_patch16_224.augreg_in21k 图片分类模型适配为可在单卡昇腾 NPU(Ascend910)上运行的提交工程。
timm.create_model(pretrained=False) + ModelScope 本地权重加载| 项目 | 版本/信息 |
|---|---|
| NPU | Ascend910 |
| npu-smi | 25.5.2 |
| PyTorch NPU | 可用 |
| 设备名 | Ascend910_9362 |
详细环境信息见 logs/env_check.log。
python inference.py推理脚本使用 model_utils.py 加载模型,通过 timm.data.resolve_model_data_config 自动解析预处理参数,在 npu:0 上执行真实推理。
[1, 21843]python eval_accuracy.py对同一张测试图分别在 CPU 和 NPU 上推理,对比 logits、概率分布、Top-1 和 Top-5 结果。
| 指标 | 数值 |
|---|---|
| Logits max diff | 2.88e-02 |
| Logits MSE | 2.78e-05 |
| Probs max diff | 1.54e-06 |
| Top-1 一致 | True |
| Top-5 一致 | True |
注:本验证为 CPU/NPU smoke consistency 对比,非官方 ImageNet 精度评测。
python benchmark.py| 指标 | 数值 |
|---|---|
| 平均耗时 | 5.38 ms |
| 最小耗时 | 5.33 ms |
| 最大耗时 | 5.43 ms |
| P50 | 5.37 ms |
| P90 | 5.43 ms |
| P95 | 5.43 ms |
| images/sec | 186.03 |
测试条件:warmup 2 次,正式 10 次,单张 224x224 图片,batch=1。
本工程未在完整 ImageNet 验证集上运行。精度一致性验证见第 4 节 eval_accuracy.py 结果。
见 screenshots/self_verification.png 与 screenshots/self_verification.txt。
logs/env_check.log — 环境检查logs/inference.log — 推理结果logs/accuracy.log — 精度一致性验证logs/benchmark.log — 性能基准测试snapshot_download 下载,不在本仓库提交。timm.create_model(..., pretrained=True) 触发 HuggingFace 自动下载。torch_npu 已正确安装。#NPU