将 ModelScope 上的 timm/swinv2_base_window12to16_192to256.ms_in22k_ft_in1k 图片分类模型适配到华为昇腾 NPU (Ascend910)。该模型为 Swin Transformer V2 Base 架构,输入分辨率 256×256,输出 1000 类 ImageNet 分类。使用 ModelScope snapshot_download 下载权重,timm.create_model(pretrained=False) 加载本地权重。
# 安装依赖
pip install -r requirements.txt
# 运行推理
python inference.py推理脚本使用 npu:0 进行真实 NPU 推理,输出 Top-5 预测结果。
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.018901 |
| mean_abs_error | 0.003905 |
| relative_error | 0.4171% |
| cosine_similarity | 0.999992 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| 平均延迟 | 35.063 ms |
| 最小延迟 | 22.437 ms |
| 最大延迟 | 56.141 ms |
| p50 | 24.298 ms |
| p90 | 56.141 ms |
| p95 | 56.141 ms |
| 吞吐量 | 28.52 images/sec |
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
详见 screenshots/self_verification.txt 和 screenshots/self_verification.png。
logs/inference.log — NPU 推理日志logs/accuracy.log — CPU-NPU 精度一致性检查logs/benchmark.log — NPU 性能基准测试timm.data.resolve_model_data_config 自动生成预处理#NPU