Swin Transformer Small在ImageNet-22k(21841个类别)上进行预训练,通过PyTorch + torch_npu适配单卡华为昇腾NPU推理。
| 项目 | 数值 |
|---|---|
| 模型 | timm/swin_small_patch4_window7_224.ms_in22k |
| 架构 | Swin Transformer Small |
| 预训练 | ImageNet-22k(微软) |
| 输入分辨率 | 224x224 |
| num_classes | 21841 |
| 硬件 | 华为昇腾NPU |
pip install -r requirements.txt
python3 inference.pyassets/test.jpg的Top-5预测结果:
| 排名 | 类别ID | 得分 |
|---|---|---|
| Top-1 | 9535 | 0.0041 |
| Top-2 | 7585 | 0.0030 |
| Top-3 | 9269 | 0.0028 |
| Top-4 | 5060 | 0.0027 |
| Top-5 | 7002 | 0.0026 |
python3 eval_accuracy.py单张测试图像上的CPU与NPU一致性检查:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.008706 |
| mean_abs_error | 0.001523 |
| relative_error | 0.1555% |
| cosine_similarity | 0.999999 |
| top1_match | True |
| top5_match | True |
| CPU Top-5 | [9535, 7585, 9269, 5060, 7002] |
| NPU Top-5 | [9535, 7585, 9269, 5060, 7002] |
| 结果 | PASS |
python3 benchmark.py昇腾NPU上的单图延迟(运行10次,批次大小=1):
| 指标 | 数值 |
|---|---|
| 输入形状 | [1, 3, 224, 224] |
| 平均延迟 | 17.33 ms |
| 最小延迟 | 16.83 ms |
| 最大延迟 | 17.72 ms |
| p50延迟 | 17.61 ms |
| p90延迟 | 17.66 ms |
| p95延迟 | 17.69 ms |
| 每秒图像数 | 57.70 |

#NPU