m0_74196153/swin_large_patch4_window7_224_ms_in22k_ft_in1k-npu
模型介绍文件和版本Pull Requests讨论分析

swin_large_patch4_window7_224.ms_in22k_ft_in1k 昇腾 NPU 适配

模型介绍

本仓库包含了 timm 中的 swin_large_patch4_window7_224.ms_in22k_ft_in1k 模型在华为昇腾 NPU 上的适配与推理实现。

原始模型地址

  • 原始模型: swin_large_patch4_window7_224.ms_in22k_ft_in1k (timm / HuggingFace Hub)
  • ModelScope: https://www.modelscope.cn/models/timm/swin_large_patch4_window7_224.ms_in22k_ft_in1k

任务类型

  • 任务类型: 图像分类 / 视觉 Transformer

模型框架

  • 框架: PyTorch + timm

输入格式

  • 输入: 图像 (RGB, 根据模型配置自动调整尺寸)

输出格式

  • 输出: 分类 logits(ImageNet 1000 类置信度分数)

依赖环境

  • Python 3.11
  • torch 2.9.0
  • torch_npu 2.9.0.post1
  • timm 1.0.27
  • torchvision 0.24.0
  • CANN 8.5.1
  • 昇腾 Ascend 910 (NPU)

NPU 适配说明

本模型基于 timm 库加载预训练权重,模型权重通过 ModelScope 下载。在昇腾 NPU 上通过 torch_npu 实现硬件加速。

环境准备

pip install -r requirements.txt

推理命令

python inference.py

推理结果

CPU 推理

  • 推理耗时: 1.3450s

NPU 推理

  • 推理耗时: 0.0184s

部署和推理方法

  1. 安装依赖: pip install -r requirements.txt
  2. 运行推理: python inference.py
  3. 精度对比: python compare_cpu_npu.py

CPU/NPU 精度测试结果

指标数值
CPU 推理耗时1.3450s
NPU 推理耗时0.0184s
MAE (平均绝对误差)0.0007872
Max Error (最大误差)0.00473017
MSE (均方误差)1.03e-06
相对误差0.00134964
误差百分比0.135
余弦相似度0.99999912
Top-5 索引一致性是

结论: NPU 与 CPU 推理误差 < 1%

性能测试结果

设备推理耗时 (s)
CPU1.3450
NPU0.0184

标签

  • #+NPU
  • #+CV
  • #+图像分类
  • #+昇腾
  • #+Ascend
  • #+PyTorch
  • #+ViT

推理成功的证明

推理结果日志

CPU inference time: 1.3450s
Top-5 indices: [549, 610, 921, 916, 701]
Top-5 values: [3.508632, 2.829845, 2.752079, 2.672682, 2.63034]

NPU inference time: 0.0184s
Top-5 indices: [549, 610, 921, 916, 701]
Top-5 values: [3.504502, 2.828779, 2.75395, 2.673896, 2.630147]

CPU/NPU Relative Error: 0.135%

精度测试日志

Mean Absolute Error (MAE): 0.0007872
Max Absolute Error: 0.00473017
Cosine Similarity: 0.99999912
Relative Error: 0.00134964

运行截图

运行截图由 acend- 工具生成,展示推理成功画面。

下载使用量0