将 timm EfficientNet-EL (pruned, ImageNet-1K pretrained) 适配到华为昇腾 NPU (Ascend910)。使用 ModelScope 下载权重,timm.create_model(pretrained=False) 加载本地权重,包含推理验证、CPU-NPU 精度一致性检查和性能基准测试。
| 项目 | 值 |
|---|---|
| NPU | 华为昇腾 910 (Ascend910_9362) |
| PyTorch | 2.9.0+cpu |
| torch_npu | 2.9.0.post1+gitee7ba04 |
| timm | 1.0.27 |
| CANN | 8.5.1 |
| 驱动 | npu-smi 25.5.2 |
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
日志保存在 logs/inference.log。
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.004758 |
| mean_abs_error | 0.000939 |
| relative_error | 0.2319% |
| cosine_similarity | 0.999997 |
| threshold | 1.0% |
| 结果 | PASS |
CPU-NPU 相对误差为 0.2319%,远低于 1.0% 阈值,精度一致性验证通过。
| 指标 | 数值 |
|---|---|
| 设备 | npu:0 (Ascend910) |
| 输入 | [1, 3, 300, 300] |
| 测试次数 | 10 |
| 平均延迟 | 9.70 ms |
| 最小延迟 | 9.37 ms |
| 最大延迟 | 12.01 ms |
| P50 延迟 | 9.44 ms |
| P90 延迟 | 9.79 ms |
| P95 延迟 | 10.90 ms |
| 吞吐量 | 103.10 images/sec |
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。CPU-NPU 一致性检查在单张测试图片上对比 CPU 与 NPU 的推理输出,验证模型在 NPU 上的数值精度与 CPU 一致。详细指标见第 4 节。
截图保存在 screenshots/self_verification.png,包含 NPU 环境、推理结果、精度验证和性能测试摘要。
logs/inference.log — 推理结果logs/accuracy.log — 精度验证详细数据logs/benchmark.log — 性能基准测试结果logs/env_check.log — 环境检查信息#NPU #Ascend #Ascend910 #timm #EfficientNet #ImageClassification