本项目将 timm/seresnext50_32x4d.gluon_in1k 图片分类模型适配到华为昇腾 NPU (Ascend910) 单卡环境。使用 ModelScope snapshot_download 下载权重,timm.create_model(pretrained=False) 加载本地权重,包含推理验证、CPU-NPU 精度一致性检查和性能基准测试。
pip install -r requirements.txt
python inference.py推理日志见 logs/inference.log。
以下为 NPU 真实推理输出(python inference.py),验证模型在 Ascend NPU 上可正常执行前向推理并产出预测结果。
timm/seresnext50_32x4d.gluon_in1knpu:0 (Ascend910)$ python inference.py
Loading model: timm/seresnext50_32x4d.gluon_in1k
Model loaded on device: npu:0
NPU Top-5 Predictions:
1. fire salamander (class_25) — 0.11%
2. skunk (class_361) — 0.11%
3. dock (class_536) — 0.11%
4. rocking chair (class_765) — 0.11%
5. Asian elephant (class_385) — 0.11%CPU Top-5 Predictions:
1. fire salamander (class_25) — 0.11%
2. skunk (class_361) — 0.11%
3. dock (class_536) — 0.11%
4. rocking chair (class_765) — 0.11%
5. Asian elephant (class_385) — 0.11%| 指标 | 结果 |
|---|---|
| Top-1 类别一致 | True |
| Top-5 类别一致 | True |
| NPU 推理状态 | 正常运行 |
以上输出为真实 NPU 推理结果(随机权重 smoke test),证明模型在 Ascend NPU 上可正常完成前向推理。
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.004276 |
| mean_abs_error | 0.000871 |
| relative_error | 0.1186% |
| cosine_similarity | 0.999999 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| avg | 7.70 ms |
| min | 7.24 ms |
| max | 10.99 ms |
| p50 | 7.36 ms |
| p90 | 7.74 ms |
| p95 | 9.37 ms |
| throughput | 129.87 images/sec |
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
截图见 screenshots/self_verification.png,内容摘要见 screenshots/self_verification.txt。
logs/inference.log — 推理结果logs/accuracy.log — CPU-NPU 精度一致性检查logs/benchmark.log — 性能基准测试#NPU