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

timm/tf_efficientnet_b0.ns_jft_in1k on Ascend NPU

1. 简介

本项目将 timm/tf_efficientnet_b0.ns_jft_in1k 图片分类模型适配到华为昇腾 NPU(Ascend910),使其能够在单卡 NPU 上完成推理、精度验证和性能基准测试。

  • 原始模型: timm/tf_efficientnet_b0.ns_jft_in1k
  • 模型类型: EfficientNet-B0 (ImageNet-1k 分类)
  • 权重来源: ModelScope snapshot_download
  • 适配方式: timm.create_model(pretrained=False) + 本地权重加载

2. 验证环境

  • NPU: 华为 Ascend910
  • OS: Linux 5.10.0
  • PyTorch: torch + torch_npu
  • timm: 1.0.27
  • ModelScope: 1.35.3

3. 推理运行

pip install -r requirements.txt
python inference.py

推理输出 Top-5 预测结果,日志保存在 logs/inference.log。

Model: timm/tf_efficientnet_b0.ns_jft_in1k
Weights: /opt/atomgit/.cache/modelscope/hub/models/timm/tf_efficientnet_b0___ns_jft_in1k/model.safetensors
Input shape: [1, 3, 224, 224]
Output shape: [1, 1000]
Top-5 predictions:
  class_978: 0.5125
  class_976: 0.1176
  class_540: 0.0358
  class_437: 0.0309
  class_980: 0.0205

4. 精度验证

python eval_accuracy.py

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

指标数值
max_abs_error0.004901
mean_abs_error0.001108
relative_error0.1622%
cosine_similarity0.999999
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标值
平均延迟7.09 ms
最小延迟7.02 ms
最大延迟7.19 ms
P507.09 ms
P907.19 ms
P957.19 ms
吞吐量141.10 images/sec

6. 精度评测

本项目执行的是 Smoke consistency check(同输入同精度验证),非 ImageNet 官方精度评测。CPU 和 NPU 推理结果完全一致,Top-1/Top-5 类别匹配。

7. 自验证截图

参见 screenshots/self_verification.png。

8. 日志文件

  • logs/inference.log — 推理结果
  • logs/accuracy.log — 精度验证
  • logs/benchmark.log — 性能基准

9. 注意事项

  • 权重通过 ModelScope snapshot_download 下载,不使用 HuggingFace 直连
  • 使用 pretrained=False 创建模型结构,手动加载本地权重
  • 不提交权重文件(*.bin, *.safetensors 等已加入 .gitignore)

10. 标签

#NPU