dm_nfnet_f1 dm_in1k 是 NFNet(Normalization-Free Net)系列的一个变体。NFNet 由 DeepMind 提出,基于 ResNet 架构但去除了所有 Batch Normalization 层,使用梯度裁剪和自适应梯度缩放技术来维持训练稳定性。该模型在 ImageNet-1K 上预训练,适用于图像分类任务。
本模型已适配昇腾 Ascend 910 NPU,支持在 NPU 上进行推理。核心适配工作包括:
torch.npu 将模型加载到 NPU 设备。torch.npu.synchronize() 确保 NPU 同步执行。pip install torch torch-npu timm Pillow safetensors# CPU 推理
python3 inference.py --model dm_nfnet_f1.dm_in1k --device cpu --image test.jpg
# NPU 推理
python3 inference.py --model dm_nfnet_f1.dm_in1k --device npu --image test.jpgModel: dm_nfnet_f1 dm_in1k
Device: cpu
Time: 1.1068s
Top-1: class 906
Top-5: [906, 885, 699, 641, 772]Model: dm_nfnet_f1 dm_in1k
Device: npu
Time: 0.0212s
Top-1: class 906
Top-5: [906, 885, 699, 641, 772]| 指标 | 值 |
|---|---|
| MAE | 0.00101619 |
| MSE | 0.00000170 |
| 最大绝对误差 | 0.00724125 |
| 余弦相似度 | 0.99999934 |
| Top-100 平均相对误差 | 0.0752% |
| Top-1 分类一致 | 是 |
| Top-5 重叠数 | 5/5 |
| Top-1 (CPU) | 906 |
| Top-1 (NPU) | 906 |
| Top-5 (CPU) | [906, 885, 699, 641, 772] |
| Top-5 (NPU) | [906, 885, 699, 641, 772] |
结论:NPU 与 CPU 推理结果误差 < 1%,精度完全满足要求。
基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.0001%,小于 1% 的精度要求。
基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.0001%,小于 1% 的精度要求。
| 设备 | 推理耗时 |
|---|---|
| CPU | 1.1068 s |
| NPU | 0.0212 s |
| 加速比 | 52.12× |

本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。