将 timm 库中的 ViT-Small/16(ImageNet-1K 预训练)适配到华为昇腾 NPU(Ascend910B)单卡推理。
timm/vit_small_patch16_224.augreg_in1ktimm.create_model(pretrained=False) + 本地权重加载| 项目 | 值 |
|---|---|
| NPU 型号 | Ascend910B |
| PyTorch | 2.x |
| torch_npu | 已安装 |
| timm | 已安装 |
| 操作系统 | Linux aarch64 |
cd timm-vit_small_patch16_224.augreg_in1k-NPU
pip install -r requirements.txt
python download_test_image.py
python inference.py推理结果 (NPU Top-5):
python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.022418 |
| mean_abs_error | 0.004162 |
| relative_error | 0.4857% |
| cosine_similarity | 0.999992 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 值 |
|---|---|
| 平均延迟 | 5.17 ms |
| 最小延迟 | 5.09 ms |
| 最大延迟 | 5.24 ms |
| P50 | 5.17 ms |
| P90 | 5.24 ms |
| P95 | 5.24 ms |
| 吞吐量 | 193.59 images/sec |
测试条件:batch=1, 224x224, 预热 2 次 + 正式 10 次。
本项目执行的是 smoke consistency check(同输入 CPU/NPU 一致性验证),并非官方 ImageNet-1K 精度评测。如需精度评测,请使用官方 ImageNet 验证集。
详见 screenshots/self_verification.png。
| 文件 | 说明 |
|---|---|
logs/inference.log | NPU 推理结果 |
logs/accuracy.log | CPU/NPU 精度对比 |
logs/benchmark.log | NPU 性能基准 |
logs/env_check.log | 环境检查 |
.gitignore 已排除)pretrained=False,完全本地加载#NPU #timm #ViT #Ascend910B #image-classification