本项目将 timm/efficientnet_b5.sw_in12k_ft_in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910)上运行。
模型使用 ModelScope snapshot_download 下载权重,通过 timm.create_model(pretrained=False) 创建模型结构并加载本地权重,不依赖 HuggingFace 直连下载,无 fallback。
| 项目 | 版本/型号 |
|---|---|
| NPU | Ascend910 |
| npu-smi | 25.5.2 |
| PyTorch | torch + torch_npu |
| timm | latest |
环境详情见 logs/env_check.log。
pip install -r requirements.txt
python inference.py推理脚本使用 timm.data.resolve_model_data_config 自动解析输入尺寸与预处理参数,在 npu:0 上执行真实推理。
推理结果摘要:
[1, 3, 448, 448][1, 1000]完整结果见 logs/inference.log。
python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.002437 |
| mean_abs_error | 0.001015 |
| relative_error | 0.0317% |
| cosine_similarity | 1.000000 |
| threshold | 1.0% |
| 结果 | PASS |
python benchmark.py| 指标 | 数值 |
|---|---|
| 迭代次数 | 10 |
| 平均延迟 | 18.93 ms |
| 最小延迟 | 18.59 ms |
| 最大延迟 | 19.32 ms |
| P90 延迟 | 19.29 ms |
| P95 延迟 | 19.30 ms |
| 吞吐量 | 52.81 images/sec |
完整结果见 logs/benchmark.log。
本项目在单张测试图片上完成了 CPU-NPU smoke 一致性验证,确认 NPU 推理结果与 CPU 基准在 Top-1/Top-5 上完全匹配,logit 差异在可接受范围内。
注意: 本验证为 smoke consistency check,非官方 ImageNet 完整数据集精度评测。
自验证截图与文本摘要已生成:
screenshots/self_verification.txtscreenshots/self_verification.png| 文件 | 说明 |
|---|---|
logs/env_check.log | NPU 环境信息 |
logs/inference.log | 推理结果 |
logs/accuracy.log | CPU/NPU 精度对比 |
logs/benchmark.log | 性能基准测试 |
logs/paths.txt | 模型下载路径记录 |
.bin/.safetensors/.pth 等),首次运行时会通过 ModelScope 自动下载到本地缓存目录。pretrained=False,避免 HuggingFace 自动下载。#NPU