本工程将 timm/mixer_b16_224.goog_in21k_ft_in1k(MLP-Mixer Base 16,ImageNet-21k 预训练后微调至 ImageNet-1k)适配到单卡昇腾 NPU(Ascend910)。
snapshot_download 下载本地权重,timm.create_model(pretrained=False) 创建模型结构后加载本地权重torch.npu.is_available() == True环境详情见 logs/env_check.log。
推理结果(单张测试图片):
python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.036369 |
| mean_abs_error | 0.006860 |
| relative_error | 0.0727% |
| cosine_similarity | 1.000000 |
| threshold | 1.0% |
| 结果 | PASS |
python benchmark.py| 指标 | 数值 |
|---|---|
| Avg latency | 4.42 ms |
| Min latency | 4.36 ms |
| Max latency | 4.62 ms |
| P50 latency | 4.40 ms |
| P90 latency | 4.62 ms |
| Throughput | 226.42 images/sec |
测试配置:warmup 2 次,正式运行 10 次,batch_size=1,输入 3x224x224。
见 logs/accuracy.log。CPU 与 NPU 推理结果在 Top-1 和 Top-5 上完全一致,logits 差异在 float32 误差范围内。
见 screenshots/self_verification.txt 和 screenshots/self_verification.png。
logs/stage0.log — 模型预判与可用性检查logs/env_check.log — NPU 环境信息logs/inference.log — NPU 推理结果logs/accuracy.log — CPU-NPU 一致性对比logs/benchmark.log — 性能基准测试.safetensors、.pth、.bin 等)不提交到仓库,通过 .gitignore 排除;首次运行时会自动从 ModelScope 下载。snapshot_download。#NPU