将 timm 预训练图片分类模型 tiny_vit_5m_224.in1k 适配为可在单卡昇腾 NPU(Ascend910B)上运行的提交工程。
| 项目 | 值 |
|---|---|
| NPU | Ascend910 |
| PyTorch | torch + torch_npu |
| 框架 | timm |
| 下载方式 | ModelScope snapshot_download |
| 权重加载 | timm.create_model(pretrained=False) + 本地加载 |
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
日志保存在 logs/inference.log。
python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.021305 |
| mean_abs_error | 0.004001 |
| relative_error | 0.6942% |
| cosine_similarity | 0.999988 |
| threshold | 1.0% |
| 结果 | PASS |
python benchmark.py| 指标 | 值 |
|---|---|
| 平均延迟 | 8.14 ms |
| 最小延迟 | 8.08 ms |
| 最大延迟 | 8.23 ms |
| P50 | 8.13 ms |
| P90 | 8.23 ms |
| P95 | 8.23 ms |
| 吞吐量 | 122.89 images/sec |
以上数据基于单卡 Ascend910,batch_size=1,224x224 输入,仅供参考。
Smoke 验证仅测试 CPU/NPU 一致性(单张图片),非官方精度评测。如需正式精度评测,请使用 ImageNet 验证集。
详见 screenshots/self_verification.png。
| 文件 | 说明 |
|---|---|
logs/inference.log | 推理日志 |
logs/accuracy.log | 精度验证日志 |
logs/benchmark.log | 性能基准日志 |
logs/env_check.log | 环境检查日志 |
logs/paths.txt | 模型路径信息 |
model_utils.py 为公共模块,所有脚本通过 import 加载模型,避免重复代码#NPU #Ascend #timm #TinyViT #image-classification