将 timm 库中的 ViT-Tiny(patch16_224,ImageNet-21K 预训练)模型适配为可在单卡昇腾 NPU(Ascend910)上运行的推理工程。该模型为 Vision Transformer Tiny 架构,输出 21843 类(ImageNet-21K fine-grained 分类)。
pip install -r requirements.txt
python inference.py推理脚本使用 model_utils.py 加载模型:
timm.create_model("vit_tiny_patch16_224.augreg_in21k", pretrained=False) 创建模型结构ModelScope snapshot_download 下载权重到本地safetensors 格式加载权重到模型[1, 21843](21843 类 ImageNet-21K)对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.049053 |
| mean_abs_error | 0.009415 |
| relative_error | 0.0552% |
| cosine_similarity | 1.000000 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| 平均延迟 | 5.34 ms |
| 最小延迟 | 5.31 ms |
| 最大延迟 | 5.39 ms |
| P50 延迟 | 5.34 ms |
| P90 延迟 | 5.38 ms |
| P95 延迟 | 5.38 ms |
| 吞吐量 | 187.26 images/sec |
| 测试次数 | 10 |
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
详见 screenshots/self_verification.png。
logs/inference.log — 推理结果logs/accuracy.log — 精度验证logs/benchmark.log — 性能测试logs/env_check.log — 环境检查timm.create_model(pretrained=False) + 本地权重加载,不使用 HuggingFace 直连下载#NPU #Ascend #ViT-Tiny #ImageNet-21K #timm