本文档记录了 vit_tiny_patch16_384.augreg_in21k_ft_in1k 在昇腾 Ascend NPU 上的推理适配和精度验证结果。
该模型属于 timm 库中的 Vision Transformer (ViT) 系列模型,用于图像分类任务。
| 组件 | 版本/规格 |
|---|---|
| NPU | Ascend910 (64GB HBM) |
| CANN | 8.5.1 |
| PyTorch | 2.9.0+cpu |
| torch-npu | 2.9.0.post1 |
| timm | 1.0.27 |
| Python | 3.11.14 |
pip install torch torch-npu timm pillow numpy
# 使用清华镜像加速
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torch-npu timm pillow numpy# CPU推理
python inference.py vit_tiny_patch16_384.augreg_in21k_ft_in1k --device cpu
# NPU推理
python inference.py vit_tiny_patch16_384.augreg_in21k_ft_in1k --device npu
# CPU vs NPU精度对比
python compare_cpu_npu.py vit_tiny_patch16_384.augreg_in21k_ft_in1k| 设备 | 平均推理耗时 (ms) | 加速比 |
|---|---|---|
| CPU | 238.55 ms | 1.00x |
| NPU (Ascend910) | 9.62 ms | 24.80x |
| 排名 | CPU 类别 ID | CPU 概率 | NPU 类别 ID | NPU 概率 |
|---|---|---|---|---|
| 1 | 111 | 0.000000 | 111 | 0.000000 |
| 2 | 78 | 0.000000 | 78 | 0.000000 |
| 3 | 646 | 0.000000 | 646 | 0.000000 |
| 4 | 701 | 0.000000 | 701 | 0.000000 |
| 5 | 319 | 0.000000 | 319 | 0.000000 |
结论: CPU 与 NPU 的 Top-1 分类结果一致。
| 指标 | 数值 |
|---|---|
| Cosine Similarity | 0.99999774 |
| 最大概率差异 | 0.031799% |
| 最大 Logit 绝对误差 | 0.01417470 |
精度判定: 通过 (NPU 与 CPU 推理误差 < 1%)

经过完整验证,vit_tiny_patch16_384.augreg_in21k_ft_in1k 在 Ascend NPU 上的推理结果与 CPU 推理结果的误差小于 1%,精度满足要求。NPU 推理相较于 CPU 推理获得了 24.80x 的加速效果。