hgnetv2_b6.ssld_stage2_ft_in1k 是一个基于 HGNetV2 架构的图像分类模型,在 ImageNet 数据集上预训练。该模型适用于 ImageNet 1000 类分类任务。
本仓库实现了 hgnetv2_b6.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 | 726.9 | 0.46 |
| NPU (Ascend910) | 20.5 | 0.09 |
NPU 推理加速比:35.4x(相比 CPU)

| 排名 | CPU 预测 | CPU 概率 | NPU 预测 | NPU 概率 |
|---|---|---|---|---|
| 1 | class 539 | 0.020732 | class 539 | 0.020740 |
| 2 | class 885 | 0.019624 | class 885 | 0.019608 |
| 3 | class 911 | 0.014231 | class 911 | 0.014227 |
| 4 | class 21 | 0.010227 | class 21 | 0.010221 |
| 5 | class 977 | 0.009215 | class 977 | 0.009230 |
| 指标 | 数值 |
|---|---|
| Max Abs Diff (Logits) | 1.928806e-03 |
| Mean Abs Diff (Logits) | 2.990415e-04 |
| Normalized L2 Diff | 0.0530% |
| Cosine Similarity (Logits) | 1.000000 |
| Max Rel Diff (Probabilities) | 0.0738% |
| Top-1 分类一致性 | 一致 |
| Top-5 重叠率 | 100% |
NPU 与 CPU 推理结果误差为 0.07%,符合精度误差小于 1% 的要求。
精度测试通过:NPU 输出与 CPU 输出在概率分布上高度一致(余弦相似度 1.000000),Top-1 和 Top-5 分类结果完全一致。
以下日志展示了 NPU 推理成功的关键信息:
NPU: Ascend910_9362
Top-5 predictions:
[INFO] NPU: avg 20.5ms over 5 runs
Top-5 predictions:
Top-1 match: YES