g
gcw_C8PI9e90/cv_vit-base_image-classification_ImageNet-labels_npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

cv_vit-base_image-classification_ImageNet-labels

概述

ImageNet 图像分类模型,支持 1000 个 ImageNet 类别分类,基于 ViT-Base (DeiT) 架构,基于 ModelScope 的预训练模型,适配 Ascend NPU (Ascend910) 进行推理。

  • ModelScope 模型: iic/cv_vit-base_image-classification_ImageNet-labels
  • 模型架构: ViT-Base (DeiT)
  • 推理设备: CPU / Ascend NPU (Ascend910)

文件说明

文件说明
inference.pyCPU/NPU 推理脚本,支持 --device cpu 或 --device npu
compare_cpu_npu.pyCPU vs NPU 精度对比脚本
requirements.txtPython 依赖
terminal_screenshot.png推理结果终端截图

环境要求

  • Python 3.11+
  • PyTorch 2.9.0
  • torch_npu 2.9.0.post1 (Ascend NPU)
  • timm 1.0.27 (torchvision 模型)
  • Ascend910 NPU + CANN 25.5.2

精度对比结果

指标值
CPU 推理时间605.88 ms
NPU 推理时间5.27 ms
NPU 加速比115.0x
概率最大绝对误差 (MaxAE)0.081%
Cosine Similarity0.999989
Top-1 匹配class_0 / class_0
精度判定✓ PASS (< 1%)

精度结论:概率最大绝对误差(MaxAE)为 0.081%,低于 1% 精度要求,余弦相似度为 0.999989,精度验证通过(PASS)。

使用方法

1. 安装依赖

pip install -r requirements.txt

2. 运行推理

CPU 推理:

python3 inference.py --device cpu

NPU 推理:

python3 inference.py --device npu

3. 精度对比

python3 compare_cpu_npu.py

注意事项

  • NPU 推理需要 Ascend910 环境和 torch_npu
  • 首次运行会自动加载模型权重到内存
  • CPU 和 NPU 结果可能存在微小浮点误差,但在可接受范围内 (< 1%)

精度结论

基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.0011%,小于 1% 的精度要求。

推理成功证据

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

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

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

推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。