e
gcw_GSiqzzLf/hgnet_tiny.paddle_in1k-npu
模型介绍文件和版本Pull Requests讨论分析

hgnet_tiny.paddle_in1k - 昇腾 NPU 适配

模型介绍

hgnet_tiny.paddle_in1k 是一个基于 HGNet 架构的图像分类模型,在 ImageNet 数据集上预训练。该模型适用于 ImageNet 1000 类分类任务。

  • 模型名称: hgnet_tiny.paddle_in1k
  • 模型架构: hgnet_tiny
  • 任务类型: 图像分类 (Image Classification)
  • 模型框架: PyTorch + timm
  • 原始模型地址: https://www.modelscope.cn/models/timm/hgnet_tiny.paddle_in1k
  • 输入格式: 图像 (RGB, 224x224)
  • 输出格式: 分类 logits (1000 类)

NPU 适配说明

本仓库实现了 hgnet_tiny.paddle_in1k 在华为昇腾 NPU (Ascend910) 上的推理适配。

适配内容:

  1. 基于 PyTorch + timm 的模型加载
  2. 从 ModelScope 下载预训练权重
  3. 支持 CPU 和 NPU 双端推理
  4. CPU/NPU 精度对比测试

依赖环境

torch>=2.0.0
torch_npu>=2.1.0
timm>=1.0.0
safetensors>=0.4.0
numpy>=1.24.0
pillow>=10.0.0

环境准备

pip install torch torch_npu timm safetensors numpy pillow
# 或使用清华镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torch_npu timm safetensors numpy pillow

推理命令

# 同时运行 CPU 和 NPU 推理
python3 inference.py --device both --runs 10

# 仅运行 NPU 推理
python3 inference.py --device npu --runs 10

# 仅运行 CPU 推理
python3 inference.py --device cpu --runs 10

# 精度对比
python3 compare_cpu_npu.py

推理结果

硬件环境

  • NPU: Ascend910_9362
  • CPU: ARM 架构
  • PyTorch: 2.9.0
  • torch_npu: 2.9.0.post1

性能数据

设备平均推理耗时 (ms)标准差 (ms)
CPU198.20.83
NPU (Ascend910)4.60.15

NPU 推理加速比:43.0x(相比 CPU)

推理示例输出

推理截图

Top-5 预测结果

排名CPU 预测CPU 概率NPU 预测NPU 概率
1class 5390.054232class 5390.054298
2class 7410.014076class 7410.014138
3class 3050.012479class 3050.012438
4class 9110.008579class 9110.008595
5class 450.007380class 450.007372

精度测试

CPU/NPU 精度对比结果

指标数值
Max Abs Diff (Logits)4.592419e-03
Mean Abs Diff (Logits)6.784404e-04
Normalized L2 Diff0.1139%
Cosine Similarity (Logits)0.999999
Max Rel Diff (Probabilities)0.1220%
Top-1 分类一致性一致
Top-5 重叠率100%

精度测试结论

NPU 与 CPU 推理结果误差为 0.12%,符合精度误差小于 1% 的要求。

精度测试通过:NPU 输出与 CPU 输出在概率分布上高度一致(余弦相似度 0.999999),Top-1 和 Top-5 分类结果完全一致。

推理成功证据

以下日志展示了 NPU 推理成功的关键信息:

NPU: Ascend910_9362
Top-5 predictions:
[INFO] NPU: avg 4.6ms over 5 runs
Top-5 predictions:
Top-1 match: YES

模型标签

  • #+NPU
  • #+CV
  • #+图像分类
  • #+ImageNet
  • #+昇腾
  • #+HGNet
  • #+PyTorch
  • #+Ascend910

参考链接

  • 原始模型: https://www.modelscope.cn/models/timm/hgnet_tiny.paddle_in1k
  • timm 库: https://github.com/huggingface/pytorch-image-models
  • 昇腾社区: https://www.hiascend.com
下载使用量0