将 timm 预训练视觉模型 deit3_base_patch16_224.fb_in22k_ft_in1k(DeiT3 Base,ImageNet-22k 预训练后微调至 ImageNet-1k)适配到单卡昇腾 NPU (Ascend910) 上运行。使用 ModelScope snapshot_download 下载权重,timm.create_model(pretrained=False) 加载本地权重,不使用 HuggingFace 直连下载。
| 项目 | 配置 |
|---|---|
| NPU | Ascend910_9362 (单卡) |
| CANN | 8.5.1 |
| PyTorch | 2.9.0+cpu |
| torch_npu | 可用 |
| Python | 3.11 |
| 模型参数量 | 86,585,320 |
| 权重大小 | 330.3 MB (safetensors) |
# 安装依赖
pip install -r requirements.txt
# 运行推理
python inference.py输出示例:
Top-1: class_549 (0.0308)
Top-2: class_399 (0.0189)
Top-3: class_700 (0.0185)
Top-4: class_21 (0.0126)
Top-5: class_473 (0.0115)对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.015274 |
| mean_abs_error | 0.002559 |
| relative_error | 0.3375% |
| cosine_similarity | 0.999994 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| 平均推理延迟 | 5.86 ms |
| 最小延迟 | 5.77 ms |
| 最大延迟 | 5.93 ms |
| p50 | 5.86 ms |
| p90 | 5.93 ms |
| p95 | 5.93 ms |
| 吞吐量 | 170.63 images/sec |
测试条件:batch=1, 224x224 输入, 2 次预热 + 10 次正式测试, Ascend910 单卡。
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
详见 screenshots/self_verification.png。
logs/inference.log - 推理输出日志logs/accuracy.log - CPU-NPU 精度一致性验证日志logs/benchmark.log - 性能基准测试日志logs/env_check.log - 环境检查日志pretrained=False + 本地权重加载,不使用 HuggingFace 自动下载#NPU