将 timm/twins_svt_large.in1k 图片分类模型适配到华为昇腾 NPU (Ascend910)。该模型为 Twins (SVT) Large 架构,参数量约 9927 万,支持 ImageNet-1K 1000 类分类。
适配方式:
snapshot_download 下载模型权重(非 HuggingFace 直连)timm.create_model(pretrained=False) 创建模型结构并加载本地权重| 项目 | 信息 |
|---|---|
| 设备 | Ascend910 |
| npu-smi | 25.5.2 |
| 框架 | PyTorch + torch_npu |
| 模型参数量 | 99,271,400 |
| 权重文件 | model.safetensors (378.7 MB) |
cd timm-twins_svt_large.in1k-NPU
pip install -r requirements.txt
python inference.py输出示例:
=== Inference Result (NPU) ===
Model: timm/twins_svt_large.in1k
Output shape: torch.Size([1, 1000])
Top-1: class_970 prob=0.8291
Top-2: class_979 prob=0.0585
Top-3: class_972 prob=0.0265
Top-4: class_980 prob=0.0038
Top-5: class_350 prob=0.0032对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.017189 |
| mean_abs_error | 0.001445 |
| relative_error | 0.4290% |
| cosine_similarity | 0.999995 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| 平均延迟 | 13.73 ms |
| 最小延迟 | 13.17 ms |
| 最大延迟 | 14.16 ms |
| P50 | 13.92 ms |
| P90 | 14.16 ms |
| P95 | 14.16 ms |
| 吞吐量 | 72.84 images/sec |
测试条件:batch_size=1, 输入 224x224, 预热 2 次 + 正式 10 次。
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
见 screenshots/self_verification.png。
| 文件 | 说明 |
|---|---|
logs/inference.log | NPU 推理结果 |
logs/accuracy.log | CPU-NPU 精度一致性验证 |
logs/benchmark.log | NPU 性能基准测试 |
timm.create_model(pretrained=False) + 本地权重加载,禁止 HuggingFace 直连#NPU