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

TinyNet B - 昇腾 NPU 适配

1. 模型简介

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

原始模型地址:

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

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

模型框架: PyTorch + timm

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

输出格式: 分类 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_b --device cpu

NPU 推理

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

CPU vs NPU 精度对比

python compare_cpu_npu.py --model tinynet_b

6. 推理结果

指标CPUNPU
平均推理耗时34.78 ms7.67 ms
加速比1x4.53x

Top-5 分类结果

排名CPU 类别CPU 概率NPU 类别NPU 概率
100.65155500.651830
210.02867710.028664
33970.0260013970.025943
43890.0182323890.018166
5290.007805290.007794

7. 精度测试结果

指标数值
余弦相似度 (Cosine Similarity)0.99999976
最大绝对误差 (Max Abs Error)0.00333071
平均绝对误差 (Mean Abs Error)0.00051896
均方根误差 (RMSE)0.00066563
平均相对误差 (Relative Error)0.3453%
Top-1 一致✓ 是 (类别 0)
Top-5 重叠数5/5

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

8. 性能测试

指标CPUNPU
设备Intel XeonAscend 910
推理耗时 (5 次平均)34.78 ms7.67 ms
加速比1x4.53x
输入尺寸3×188×1883×188×188
batch size11

9. 模型标签

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