e
gcw_GSiqzzLf/maxvit-rmlp-nano-rw-256-sw-in1k-npu
模型介绍文件和版本Pull Requests讨论分析

maxvit_rmlp_nano_rw_256.sw_in1k 昇腾 NPU 适配

模型介绍

maxvit_rmlp_nano_rw_256.sw_in1k 是基于 timm (PyTorch Image Models) 的图像分类模型,采用 MaxViT (Multi-Axis Vision Transformer) 架构。

  • 模型名称: maxvit_rmlp_nano_rw_256.sw_in1k
  • 描述: MaxViT RMLP Nano RW 256 SW-IN1K
  • 任务类型: 图像分类
  • 模型框架: PyTorch + timm
  • 输入格式: RGB 图像 (256x256)
  • 输出格式: 1000/21841 类分类概率
  • 原始模型地址: timm/maxvit_rmlp_nano_rw_256.sw_in1k
  • ModelScope 地址: timm/maxvit_rmlp_nano_rw_256.sw_in1k

环境要求

  • 操作系统: Linux (aarch64)
  • NPU: Ascend910 (64GB HBM)
  • CANN: 8.5.1
  • Python: 3.11.14
  • PyTorch: 2.9.0
  • torch_npu: 2.9.0.post1
  • timm: 1.0.27

NPU 适配说明

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 safetensors

下载模型

from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('timm/maxvit_rmlp_nano_rw_256.sw_in1k')

运行推理

# CPU
python3 inference.py --device cpu
# NPU
python3 inference.py --device npu

精度对比

python3 compare_cpu_npu.py

推理结果

NPU 推理输出

推理截图

CPU 与 NPU 对比

指标值
CPU Top-121
NPU Top-121
Top-1 匹配是
Top-5 重叠5/5
余弦相似度0.99999839
最大概率差异0.035650%
Top-1 概率相对误差0.142513%
CPU 耗时0.2994s
NPU 耗时0.2513s
加速比1.19x

Top-5 概率对比

类别CPU 概率NPU 概率差异
210.1792680.1795230.00025548
220.0565560.0566980.00014261
920.0514620.0511050.00035650
1270.0418520.0419290.00007704
1280.0470390.0470930.00005468

精度测试结论

NPU与CPU推理结果误差为0.0356%,符合精度误差小于1%的要求

NPU与CPU推理结果误差为0.0356%,符合精度误差小于1%的要求

推理成功证据

以下日志展示了 NPU 推理成功的关键信息:

Top-1 Match: MATCH (CPU=21, NPU=21)
Top-5 Overlap: 5/5
--- Top-5 Probabilities ---

模型标签

#+NPU #+CV #+图像分类 #+昇腾 #+Ascend910 #+timm #+MaxViT #+PyTorch

下载使用量0