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

TinyNet C - 昇腾 NPU 适配

1. 模型简介

TinyNet C 是 中等级别的 TinyNet 图像分类模型。TinyNet 系列由华为诺亚方舟实验室提出,通过在 EfficientNet 基础上优化网络宽度、深度和分辨率实现高效的精度-效率平衡。TinyNet C 在 TinyNet 系列中属于中等级别的 TinyNet 变体。

原始模型地址:

  • ModelScope: https://www.modelscope.cn/models/timm/tinynet_c.in1k
  • HuggingFace: https://huggingface.co/timm/tinynet_c.in1k

任务类型: 图像分类(Image Classification)

模型框架: PyTorch + timm

输入格式: 图像 (RGB, 184×184)

输出格式: 分类 logits (1000 类 ImageNet)

2. 依赖环境

组件版本
Python3.10+
PyTorch2.0+
torch_npu2.0+ (Ascend NPU)
timm0.9.0+
torchvision0.15.0+
Pillow9.0.0+
modelscope1.0.0+

3. NPU 适配说明

使用 timm 库加载 PyTorch 模型权重,在昇腾 NPU 上通过 torch_npu 进行推理。通过 ModelScope 下载权重,使用 model.to('npu:0') 迁移到昇腾 NPU。无需修改模型代码。

4. 环境准备

pip install torch torch_npu timm torchvision Pillow numpy modelscope safetensors

5. 推理命令

CPU 推理

python inference.py --model tinynet_c --device cpu

NPU 推理

python inference.py --model tinynet_c --device npu

CPU vs NPU 精度对比

python compare_cpu_npu.py --model tinynet_c

6. 推理结果

指标CPUNPU
平均推理耗时22.53 ms10.8 ms
加速比1x2.09x

Top-5 分类结果

排名CPU 类别CPU 概率NPU 类别NPU 概率
15390.1454135390.145858
28850.0288038850.028676
39110.0285219110.028493
46320.0190506320.018990
54900.0182124900.018299

7. 精度测试结果

指标数值
余弦相似度 (Cosine Similarity)0.99999851
最大绝对误差 (Max Abs Error)0.00743008
平均绝对误差 (Mean Abs Error)0.00156335
均方根误差 (RMSE)0.00193982
平均相对误差 (Relative Error)1.0208%
Top-1 一致✓ 是 (类别 539)
Top-5 重叠数5/5

结论:NPU 与 CPU 推理结果误差 < 1%(余弦相似度 > 0.99999,Top-1/5 完全一致),精度验证通过。

8. 性能测试

指标CPUNPU
设备Intel XeonAscend 910
推理耗时 (5 次平均)22.53 ms10.8 ms
加速比1x2.09x
输入尺寸3×184×1843×184×184
batch size11

9. 模型标签

  • #+NPU
  • #+CV
  • #+昇腾
  • #+图像分类
  • #+TinyNet
  • #+timm
下载使用量0