本项目将 timm/swinv2_tiny_window8_256.ms_in1k (Swin Transformer V2 Tiny, 256x256 输入, ImageNet-1k 预训练) 适配到华为昇腾 NPU (Ascend910)。使用 ModelScope snapshot_download 下载权重,timm.create_model(pretrained=False) 加载本地权重,包含推理验证、CPU-NPU 精度一致性检查和性能基准测试。
python inference.py输出示例:
=== Inference Result (NPU) ===
Input shape: torch.Size([1, 3, 256, 256])
Output shape: torch.Size([1, 1000])
Top-1: class_654 (0.8240)
Top-2: class_656 (0.0179)
Top-3: class_734 (0.0167)
Top-4: class_757 (0.0080)
Top-5: class_705 (0.0057)对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.007591 |
| mean_abs_error | 0.001197 |
| relative_error | 0.4059% |
| cosine_similarity | 0.999997 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| 平均延迟 | 15.86 ms |
| 最小延迟 | 12.72 ms |
| 最大延迟 | 32.34 ms |
| P50 | 13.40 ms |
| P90 | 32.34 ms |
| P95 | 32.34 ms |
| 吞吐量 | 63.05 images/sec |
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
详见 screenshots/self_verification.txt 和 screenshots/self_verification.png。
logs/inference.log — 推理结果logs/accuracy.log — 精度一致性验证logs/benchmark.log — 性能基准测试timm.data.resolve_model_data_config 自动生成