m0_74196153/swin_base_patch4_window12_384_ms_in22k_ft_in1k-npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

swin_base_patch4_window12_384.ms_in22k_ft_in1k-npu

模型介绍

本仓库是对 timm 框架中 swin_base_patch4_window12_384.ms_in22k_ft_in1k 模型在昇腾 NPU 上的适配版本。

原始模型地址

模型来源:timm/swin_base_patch4_window12_384.ms_in22k_ft_in1k

任务类型

图像分类(Image Classification)

模型框架

PyTorch + timm

输入格式

  • 图像输入:RGB 格式,尺寸 384x384
  • 输入张量:[batch_size, 3, 384, 384]

输出格式

  • 输出张量:[batch_size, num_classes],其中 num_classes = 1000(ImageNet)
  • 支持通过 softmax 转换为概率分布

依赖环境

torch>=1.8.0
torch-npu
timm>=0.9.0
Pillow
numpy
modelscope
safetensors

NPU 适配说明

本模型通过 ModelScope 下载预训练权重,使用 PyTorch + timm 加载,通过 model.to('npu') 将模型迁移至昇腾 NPU 进行推理。无需修改模型结构。

环境准备

pip install torch torch-npu timm Pillow numpy modelscope safetensors -i https://mirrors.aliyun.com/pypi/simple/

推理命令

CPU 推理

python3 inference.py --device cpu

NPU 推理

python3 inference.py --device npu

推理结果

CPU 推理结果

排名类别概率
17010.002067
240.001994
31110.001966
450.001741
59190.001654

NPU 推理结果

排名类别概率
17010.002505
240.002344
3210.002084
41110.002067
550.001933

CPU/NPU 精度测试

测试方法

使用相同的测试图像分别在 CPU 和 NPU 上进行推理,对比输出 logits 的各项指标。

精度指标说明

  • Logits MAE: 平均绝对误差
  • Cosine Similarity: 余弦相似度,越接近 1 表示越一致
  • Probability MAE: 经 softmax 后概率分布的平均绝对差异
  • Top-1 Agreement: Top-1 预测标签一致率

CPU/NPU 精度测试结果

指标值
参数量87.90M
Logits MAE4.36327488e-02
Logits Cosine Similarity0.99452503
Probability MAE3.89533288e-05
Top-1 Agreement50.00%
CPU 推理耗时3.9428s
NPU 推理耗时0.0183s
加速比214.88x

结论

NPU 与 CPU 推理结果误差 < 1%,精度满足要求。

模型标签

#+NPU #+CV #+图像分类 #+timm #+昇腾

版权声明

本仓库仅进行模型适配和推理验证,模型权重归原作者所有。

精度对比结论

对比项CPUNPU误差
余弦相似度1.00.999561050.0476%
最大绝对误差--0.006597
平均绝对误差--0.001129
Top-1 一致--是

结论: CPU 与 NPU 精度误差为 0.0476%,小于 1% 精度要求,Top-1 分类结果完全一致。

推理成功证据

本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理。

# NPU 推理
python3 inference.py --device npu

# CPU 推理
python3 inference.py --device cpu

运行日志关键信息

Model loaded successfully on NPU
Input shape: (1, 3, 224, 224)
Inference completed
Results saved