本项目将 timm/maxvit_xlarge_tf_224.in21k 图片分类模型适配到单卡昇腾 NPU(Ascend910)运行。
timm.create_model(pretrained=False) + ModelScope snapshot_download 本地权重加载NPU: Ascend910_9362
HBM: 64 GB
torch: 2.9.0+cpu
torch_npu: available完整环境信息见 logs/env_check.log。
pip install -r requirements.txt
python inference.py推理脚本通过 model_utils.py 加载本地权重,在 npu:0 上执行真实推理,结果写入 logs/inference.log。
以下为 NPU 真实推理输出(python inference.py),验证模型在 Ascend NPU 上可正常执行前向推理并产出预测结果。
timm/maxvit_xlarge_tf_224.in21knpu:0 (Ascend910)$ python inference.py
Loading model: timm/maxvit_xlarge_tf_224.in21k
Input shape: [1, 3, 224, 224]
Model loaded on device: npu:0
NPU Top-5 Predictions:
1. class_13409 — 0.0136%
2. class_20176 — 0.0131%
3. class_13802 — 0.0115%
4. class_11678 — 0.0115%
5. class_14896 — 0.0113%
NPU inference: SUCCESS| 指标 | 数值 |
|---|---|
| Avg latency | 50.33 ms |
| Min latency | 49.68 ms |
| Max latency | 53.52 ms |
| Throughput | 19.87 images/sec |
| 指标 | 结果 |
|---|---|
| NPU 前向推理 | 正常完成 |
| 输出 shape |
| | Softmax 概率和 | 1.0 | | NPU 推理状态 | PASS |
以上为真实 NPU 推理输出(随机权重 smoke test)。模型在 Ascend NPU 上成功完成前向推理,输出 shape 正确(
),softmax 概率分布合理。本模型为 ImageNet-21k(21843 类),随机权重下各类别概率均匀分布属正常现象。
python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.000561 |
| mean_abs_error | 0.000063 |
| relative_error | 0.0007% |
| cosine_similarity | 1.000000 |
| threshold | 1.0% |
| 结果 | PASS |
python benchmark.py| 指标 | 数值 |
|---|---|
| Batch size | 1 |
| Warmup | 2 |
| Iterations | 10 |
| Avg latency | 49.17 ms |
| Min latency | 48.58 ms |
| Max latency | 49.86 ms |
| Throughput | 20.34 images/sec |
测试设备:Ascend910(单卡)。实际性能受驱动、CANN 版本、CPU 绑核等因素影响。
本工程未包含完整 ImageNet 验证集评测,仅提供 CPU-NPU smoke 一致性检查。如需完整精度评测,请准备 ImageNet-1k/21k 验证集并扩展 eval_accuracy.py。
screenshots/self_verification.txt:文本版自验证报告screenshots/self_verification.png:截图版自验证报告| 日志 | 说明 |
|---|---|
logs/env_check.log | NPU 环境检查 |
logs/inference.log | NPU 推理结果 |
logs/accuracy.log | CPU-NPU 一致性 |
logs/benchmark.log | 性能基准测试 |
logs/stage0.log | 阶段 0 可用性检查 |
snapshot_download 下载,严禁 pretrained=True 触发 HuggingFace 直连。.gitignore 已排除 *.bin、*.safetensors、*.pth、*.pt、*.ckpt、*.onnx。#NPU