maxvit_rmlp_base_rw_224.sw_in12k_ft_in1k 是基于 timm (PyTorch Image Models) 的图像分类模型,采用 MaxViT (Multi-Axis Vision Transformer) 架构。
MaxViT 是一种混合架构,结合了卷积和注意力机制。该模型通过 timm 库加载预训练权重,可在昇腾 Ascend910 NPU 上直接运行。
pip install torch torch_npu timm Pillow numpy safetensors使用清华镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torch_npu timm Pillow numpy safetensorsfrom modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('timm/maxvit_rmlp_base_rw_224.sw_in12k_ft_in1k')# CPU
python3 inference.py --device cpu
# NPU
python3 inference.py --device npupython3 compare_cpu_npu.py
| 指标 | 值 |
|---|---|
| CPU Top-1 | 21 |
| NPU Top-1 | 21 |
| Top-1 匹配 | 是 |
| Top-5 重叠 | 5/5 |
| 余弦相似度 | 0.99999770 |
| 最大概率差异 | 0.044210% |
| Top-1 概率相对误差 | 0.290784% |
| CPU 耗时 | 1.6128s |
| NPU 耗时 | 0.3264s |
| 加速比 | 4.94x |
| 类别 | CPU 概率 | NPU 概率 | 差异 |
|---|---|---|---|
| 21 | 0.152038 | 0.151596 | 0.00044210 |
| 22 | 0.048427 | 0.048461 | 0.00003386 |
| 23 | 0.038674 | 0.038762 | 0.00008741 |
| 92 | 0.038232 | 0.038292 | 0.00005970 |
| 128 | 0.028423 | 0.028273 | 0.00015043 |
NPU与CPU推理结果误差为0.0442%,符合精度误差小于1%的要求
NPU与CPU推理结果误差为0.0442%,符合精度误差小于1%的要求
以下日志展示了 NPU 推理成功的关键信息:
Top-1 Match: MATCH (CPU=21, NPU=21)
Top-5 Overlap: 5/5
--- Top-5 Probabilities ---#+NPU #+CV #+图像分类 #+昇腾 #+Ascend910 #+timm #+MaxViT #+PyTorch