本项目将 timm/mobilevitv2_100.cvnets_in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910)。
| 项目 | 版本/型号 |
|---|---|
| NPU | Ascend910 |
| npu-smi | 25.5.2 |
| PyTorch | 2.x |
| torch_npu | 适配昇腾版本 |
| timm | latest |
| modelscope | latest |
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
日志保存在 logs/inference.log。
python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.008415 |
| mean_abs_error | 0.001859 |
| relative_error | 0.2127% |
| cosine_similarity | 0.999998 |
| threshold | 1.0% |
| 结果 | PASS |
python benchmark.pyNPU 单卡 batch=1 性能(10 次取平均):
| 指标 | 数值 |
|---|---|
| Avg latency | 6.95 ms |
| Min latency | 6.85 ms |
| Max latency | 7.04 ms |
| P50 latency | 6.95 ms |
| P90 latency | 6.99 ms |
| P95 latency | 6.99 ms |
| Throughput | 143.90 images/sec |
本项目未在完整 ImageNet-1k 验证集上运行,仅提供 CPU-NPU 推理一致性 smoke 验证。如需完整精度,请使用 ImageNet 验证集运行标准评测。
见 screenshots/self_verification.txt 和 screenshots/self_verification.png。
| 文件 | 内容 |
|---|---|
logs/env_check.log | NPU 环境信息 |
logs/inference.log | 推理结果与 Top-5 |
logs/accuracy.log | CPU-NPU 一致性对比 |
logs/benchmark.log | 性能基准数据 |
logs/paths.txt | 模型路径记录 |
.gitignore 排除权重文件,确保不提交大文件assets/test.jpg 仅供 smoke 测试,非真实分类样本ByobNet (timm 内部实现),输入分辨率 256x256#NPU