将 timm 模型 tf_mobilenetv3_small_100.in1k(MobileNetV3-Small,ImageNet-1k 分类)适配为可在单卡华为昇腾 NPU(Ascend910)上运行的提交工程。
timm/tf_mobilenetv3_small_100.in1k)timm.create_model("tf_mobilenetv3_small_100.in1k", pretrained=False)snapshot_download + 本地 safetensors 加载| 项目 | 值 |
|---|---|
| NPU 型号 | Ascend910 |
| NPU 名称 | Ascend910_9362 |
| PyTorch | 2.x |
| torch_npu | 已安装 |
| timm | 已安装 |
| Python | 3.x |
pip install -r requirements.txt
python inference.py推理输出示例:
Top-1: class_970 (prob=0.1415)
Top-2: class_979 (prob=0.1216)
Top-3: class_888 (prob=0.0902)
Top-4: class_912 (prob=0.0660)
Top-5: class_525 (prob=0.0511)python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.016343 |
| mean_abs_error | 0.003490 |
| relative_error | 0.4037% |
| cosine_similarity | 0.999993 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 值 |
|---|---|
| Avg latency | 4.70 ms |
| Min latency | 4.65 ms |
| Max latency | 4.75 ms |
| P50 | 4.70 ms |
| P90 | 4.75 ms |
| P95 | 4.75 ms |
| Throughput | 212.8 images/s |
测试条件:batch_size=1, input=[1,3,224,224], 预热 2 次 + 正式 10 次。
本项目仅执行 smoke consistency 验证(CPU vs NPU Top-1/Top-5 一致性),非 ImageNet 官方精度评测。
详见 screenshots/self_verification.png。
| 文件 | 说明 |
|---|---|
logs/inference.log | 推理日志 |
logs/accuracy.log | 精度验证日志 |
logs/benchmark.log | 性能基准日志 |
logs/env_check.log | 环境检查日志 |
logs/paths.txt | 模型路径信息 |
*.bin, *.safetensors 等已在 .gitignore 中排除)pretrained=False + 本地权重加载,不使用 HuggingFace 直连下载#NPU