timm/levit_conv_128s.fb_dist_in1k on Ascend NPU
1. 简介
本项目将 timm/levit_conv_128s.fb_dist_in1k 图片分类模型适配到华为昇腾 NPU (Ascend910)。使用 ModelScope snapshot_download 下载权重,timm.create_model(pretrained=False) 加载本地权重,包含推理验证、CPU-NPU 精度一致性检查和性能基准测试。
2. 验证环境
- 设备: Ascend910 (Ascend910_9362)
- 框架: PyTorch + torch_npu
- 模型来源: ModelScope (timm/levit_conv_128s.fb_dist_in1k)
- 权重文件: pytorch_model.bin (29.9MB)
3. 推理运行
pip install -r requirements.txt
python inference.py
推理结果:
- Top-1: class_445 (0.4821)
- Top-2: class_842 (0.1034)
- Top-3: class_978 (0.0915)
- Top-4: class_638 (0.0873)
- Top-5: class_977 (0.0762)
4. 精度验证
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|
| max_abs_error | 0.011340 |
| mean_abs_error | 0.001884 |
| relative_error | 0.1658% |
| cosine_similarity | 0.999999 |
| threshold | 1.0% |
| 结果 | PASS |
- CPU Top-1: class_445
- NPU Top-1: class_445
- CPU Top-5: class_445, class_842, class_978, class_638, class_977
- NPU Top-5: class_445, class_842, class_978, class_638, class_977
- Top-1 match: True
- Top-5 match: True
5. 性能参考
| 指标 | 数值 |
|---|
| avg_latency | 9.35 ms |
| min_latency | 7.28 ms |
| max_latency | 27.06 ms |
| p50 | 7.39 ms |
| p90 | 27.06 ms |
| p95 | 27.06 ms |
| images/sec | 106.96 |
6. 精度评测说明
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
7. 自验证截图
见 screenshots/self_verification.png
8. 日志文件
- logs/inference.log — 推理结果
- logs/accuracy.log — 精度验证
- logs/benchmark.log — 性能测试
9. 注意事项
- 使用 ModelScope snapshot_download 作为主下载方式,不使用 HuggingFace 直连下载
- 使用 timm.create_model(pretrained=False) + 本地权重加载
- 不提交权重文件 (*.bin, *.safetensors, *.pth, *.pt, *.ckpt, *.onnx)
10. 标签 #NPU