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

cv_level1_protected_animals_classification-npu

概述

一级保护动物识别模型,支持 66 种中国一级保护动物分类,基于 ViT (Vision Transformer) 架构,适配 Ascend NPU (Ascend910) 进行推理。

  • 原始模型: cubeai/cv_level1_protected_animals_classification
  • 模型架构: ViTForImageClassification (google/vit-base-patch16-224-in21k)
  • 推理设备: CPU / Ascend NPU (Ascend910)
  • 任务类型: 图像分类 (Image Classification)
  • 类别数: 66 种中国一级保护动物

文件说明

文件说明
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)
  • transformers 4.57.6
  • Ascend910 NPU + CANN 25.5.2

环境准备

pip install -r requirements.txt

推理命令

CPU 推理:

python3 inference.py --device cpu

NPU 推理:

python3 inference.py --device npu

指定图片推理:

python3 inference.py --device npu --image /path/to/image.jpg

推理结果

使用测试图片 Ailuropoda_melanoleuca.jpg(大熊猫)进行推理:

设备推理耗时Top-1 类别Top-1 置信度
CPU671.13 msAiluropoda melanoleuca (大熊猫)1.0000
NPU181.47 msAiluropoda melanoleuca (大熊猫)1.0000

NPU 加速比约为 3.7x。

CPU/NPU 精度测试方法

python3 compare_cpu_npu.py

该脚本会:

  1. 分别在 CPU 和 NPU 上加载模型并进行推理
  2. 采集 logits 输出和 softmax 概率分布
  3. 计算 Max Absolute Error、Mean Absolute Error、Cosine Similarity、L2 Error 等指标
  4. 输出精度对比报告

CPU/NPU 精度测试结果

指标值
CPU 推理时间676.26 ms
NPU 推理时间177.20 ms
NPU 加速比3.82x
Top-1 匹配True (均为 Ailuropoda melanoleuca)
Max Logits Absolute Error0.006735
Mean Logits Absolute Error0.002065
Max Probability Absolute Error0.0
Mean Probability Absolute Error0.0
Cosine Similarity (Logits)0.999999
L2 Error (Logits)0.002711

结论:NPU 与 CPU 推理结果误差 < 1%(最大概率误差为 0.0%),精度符合要求。

终端截图

推理终端截图

精度结论:该模型已完成 Ascend NPU 适配部署,CPU 与 NPU 推理结果一致性验证通过,精度误差低于 1% 要求。

部署说明

  1. 将工作目录中的文件部署到 Ascend NPU 环境
  2. 安装依赖:pip install -r requirements.txt
  3. 运行推理或精度对比脚本
  4. 可使用 import torch_npu 自动启用 NPU 加速

精度结论

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

推理成功证据

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

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

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

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

模型标签

  • #+NPU
  • #+CV
  • #+图像分类
  • #+昇腾
  • #+PyTorch
  • #+ViT
  • #+动物识别