将 timm EfficientNet-B4 (ra2_in1k 变体) 图片分类模型适配到华为昇腾 NPU (Ascend910)。
timm/efficientnet_b4.ra2_in1k(ModelScope)snapshot_download + timm.create_model(pretrained=False) 本地权重加载| 项目 | 值 |
|---|---|
| 设备 | Ascend910 |
| PyTorch | torch + torch_npu |
| 模型加载 | pretrained=False + 本地 safetensors |
| 验证日期 | 2026-05-12 |
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
日志保存在 logs/inference.log。
python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.004847 |
| mean_abs_error | 0.001143 |
| relative_error | 0.1104% |
| cosine_similarity | 0.999999 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 值 |
|---|---|
| 平均延迟 | 19.29 ms |
| 最小延迟 | 15.05 ms |
| 最大延迟 | 42.08 ms |
| P50 | 15.55 ms |
| P90 | 25.16 ms |
| P95 | 33.62 ms |
| 吞吐量 | 51.85 images/sec |
本次为 Smoke 一致性验证,非官方精度评测。Top-1/Top-5 在 CPU 与 NPU 间完全匹配。
详见 screenshots/self_verification.png。
| 文件 | 说明 |
|---|---|
logs/env_check.log | NPU 环境检查 |
logs/inference.log | 推理结果 |
logs/accuracy.log | 精度验证 |
logs/benchmark.log | 性能基准 |
snapshot_download 下载模型权重,不依赖 HuggingFace 直连timm.create_model(pretrained=False) 创建结构,手动加载本地权重.safetensors / .bin 等已在 .gitignore 中排除)#NPU #Ascend910 #image-classification #timm #efficientnet