dla34 是一个 DLA(Deep Layer Aggregation)架构的图像分类模型,在 ImageNet-1K 数据集上预训练,支持 1000 类分类。
在 Ascend 910 NPU 和 CPU 上对模型进行对比测试,使用随机输入张量, 统计 CPU 与 NPU 输出的一致性。
| 指标 | 数值 |
|---|---|
| Top-1 匹配率 | 3/3 |
| 平均 MAE | 1.243966e-03 |
| 平均相对误差 | 0.0117% |
| 平均余弦相似度 | 0.99999959 |
| 误差 < 1% | ✅ |
精度测试结论:NPU 与 CPU 推理结果误差为 0.0117,小于 1%,符合精度要求。
| 测试 | CPU Top-1 | NPU Top-1 | Top-5 重叠 | MAE | 相对误差 | 余弦相似度 | 状态 |
|---|---|---|---|---|---|---|---|
| 1 | 885 | 885 | 5/5 | 1.0480e-03 | 0.0104% | 1.000000 | ✅ |
| 2 | 885 | 885 | 5/5 | 1.4532e-03 | 0.0136% | 0.999999 | ✅ |
| 3 | 885 | 885 | 5/5 | 1.2307e-03 | 0.0111% | 1.000000 | ✅ |
| 设备 | 平均推理时间(首次) | 平均推理时间(后续) |
|---|---|---|
| CPU | 160.7ms | 144.6ms |
| NPU | 184.9ms | 4.9ms |
# 方式一:通过 ModelScope
from modelscope.hub.snapshot_download import snapshot_download
snapshot_download('timm/dla34', cache_dir='./model')
# 方式二:通过 GitCode(推荐国内用户)
git clone https://gitcode.com/ascend_community_models/dla34-npu.gitpython3 inference.py --device npupython3 compare_cpu_npu.py --num_tests 5import torch
import timm
from common_utils import get_device
# 加载模型
device = get_device(use_npu=torch.npu.is_available())
model = timm.create_model('dla34', pretrained=False, num_classes=1000)
state_dict = torch.load("pytorch_model.bin", map_location="cpu", weights_only=True)
model.load_state_dict(state_dict, strict=True)
model = model.to(device)
model.eval()
# 推理
input_tensor = torch.randn(1, 3, 224, 224).to(device)
with torch.no_grad():
output = model(input_tensor)
probs = torch.nn.functional.softmax(output[0], dim=0)
top5 = torch.topk(probs, k=5)
for i in range(5):
print(f"{top5.indices[i].item()}: {top5.values[i].item():.4f}")dla34-npu/
├── README.md # 本文件
├── inference.py # NPU/CPU 推理脚本
├── compare_cpu_npu.py # CPU vs NPU 精度对比脚本
├── accuracy_report.json # 精度报告
├── requirements.txt # 依赖
└── terminal_screenshot.png # 运行截图本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。

本项目基于 Apache-2.0 许可证开源。模型权重基于 timm 的 Original License。