hgnetv2_b5.ssld_stage2_ft_in1k 是一个基于 HGNetV2 架构的图像分类模型,在 ImageNet 数据集上预训练。该模型适用于 ImageNet 1000 类分类任务。
本仓库实现了 hgnetv2_b5.ssld_stage2_ft_in1k 在华为昇腾 NPU (Ascend910) 上的推理适配。
适配内容:
torch>=2.0.0
torch_npu>=2.1.0
timm>=1.0.0
safetensors>=0.4.0
numpy>=1.24.0
pillow>=10.0.0pip 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| 设备 | 平均推理耗时 (ms) | 标准差 (ms) |
|---|---|---|
| CPU | 321.7 | 1.69 |
| NPU (Ascend910) | 13.4 | 0.02 |
NPU 推理加速比:24.0x(相比 CPU)

| 排名 | CPU 预测 | CPU 概率 | NPU 预测 | NPU 概率 |
|---|---|---|---|---|
| 1 | class 111 | 0.111152 | class 111 | 0.111383 |
| 2 | class 851 | 0.019134 | class 851 | 0.019145 |
| 3 | class 782 | 0.017906 | class 782 | 0.017922 |
| 4 | class 78 | 0.014501 | class 78 | 0.014497 |
| 5 | class 701 | 0.014317 | class 701 | 0.014321 |
| 指标 | 数值 |
|---|---|
| Max Abs Diff (Logits) | 2.461433e-03 |
| Mean Abs Diff (Logits) | 2.285775e-04 |
| Normalized L2 Diff | 0.0307% |
| Cosine Similarity (Logits) | 1.000000 |
| Max Rel Diff (Probabilities) | 0.2075% |
| Top-1 分类一致性 | 一致 |
| Top-5 重叠率 | 100% |
NPU 与 CPU 推理结果误差为 0.21%,符合精度误差小于 1% 的要求。
精度测试通过:NPU 输出与 CPU 输出在概率分布上高度一致(余弦相似度 1.000000),Top-1 和 Top-5 分类结果完全一致。
以下日志展示了 NPU 推理成功的关键信息:
NPU: Ascend910_9362
Top-5 predictions:
[INFO] NPU: avg 13.4ms over 5 runs
Top-5 predictions:
Top-1 match: YES