g
gyccc/timm-mixer_b16_224.goog_in21k_ft_in1k-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

timm/mixer_b16_224.goog_in21k_ft_in1k on Ascend NPU

1. 简介

本工程将 timm/mixer_b16_224.goog_in21k_ft_in1k(MLP-Mixer Base 16,ImageNet-21k 预训练后微调至 ImageNet-1k)适配到单卡昇腾 NPU(Ascend910)。

  • 模型来源:ModelScope
  • 权重加载:ModelScope snapshot_download 下载本地权重,timm.create_model(pretrained=False) 创建模型结构后加载本地权重
  • 推理后端:PyTorch + torch_npu
  • 任务类型:图像分类(Image Classification)

2. 验证环境

  • NPU: Ascend910 (Ascend910_9362)
  • npu-smi: 25.5.2
  • PyTorch NPU 可用: torch.npu.is_available() == True

环境详情见 logs/env_check.log。

3. 推理运行

推理结果(单张测试图片):

  • Top-1 class: class_238
  • Top-1 prob: 0.1681
  • Top-5: class_238 (0.1681), class_970 (0.1090), class_972 (0.0824), class_471 (0.0620), class_460 (0.0466)

4. 精度验证

python eval_accuracy.py

对单张测试图片进行 CPU 与 NPU 一致性验证:

指标数值
max_abs_error0.036369
mean_abs_error0.006860
relative_error0.0727%
cosine_similarity1.000000
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标数值
Avg latency4.42 ms
Min latency4.36 ms
Max latency4.62 ms
P50 latency4.40 ms
P90 latency4.62 ms
Throughput226.42 images/sec

测试配置:warmup 2 次,正式运行 10 次,batch_size=1,输入 3x224x224。

6. 精度评测

见 logs/accuracy.log。CPU 与 NPU 推理结果在 Top-1 和 Top-5 上完全一致,logits 差异在 float32 误差范围内。

7. 自验证截图

见 screenshots/self_verification.txt 和 screenshots/self_verification.png。

8. 日志文件

  • logs/stage0.log — 模型预判与可用性检查
  • logs/env_check.log — NPU 环境信息
  • logs/inference.log — NPU 推理结果
  • logs/accuracy.log — CPU-NPU 一致性对比
  • logs/benchmark.log — 性能基准测试

9. 注意事项

  • 权重文件(.safetensors、.pth、.bin 等)不提交到仓库,通过 .gitignore 排除;首次运行时会自动从 ModelScope 下载。
  • 不使用 HuggingFace 直连下载,主下载通道为 ModelScope snapshot_download。
  • 未使用 fallback,所有验证在真实 NPU 上执行。

10. 标签

#NPU