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

timm/res2net50_26w_4s.in1k on Ascend NPU

1. 简介

本项目将 timm/res2net50_26w_4s.in1k 图片分类模型适配到华为昇腾 NPU (Ascend910),包含完整的推理验证、CPU-NPU 精度一致性检查与性能基准测试。

  • 模型来源: ModelScope
  • 适配方式: timm.create_model(pretrained=False) + ModelScope snapshot_download 本地权重加载
  • 硬件: Ascend910
  • 任务类型: Image Classification

2. 验证环境

组件版本/信息
NPUAscend910
npu-smi25.5.2
PyTorch可用
torch_npu可用

详见 logs/env_check.log。

3. 推理运行

pip install -r requirements.txt
python inference.py

关键实现: 使用 model_utils.py 统一加载模型,禁止 HuggingFace 自动下载,权重通过 ModelScope 本地加载。

推理输出示例:

Model: timm/res2net50_26w_4s.in1k
Input shape: torch.Size([1, 3, 224, 224])
Output shape: torch.Size([1, 1000])
Top-5 predictions:
  1. class_973: 0.6941
  2. class_109: 0.0292
  3. class_991: 0.0114
  4. class_108: 0.0109
  5. class_76: 0.0073

4. 精度验证

python eval_accuracy.py

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

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

5. 性能参考

python benchmark.py
指标数值
Avg latency9.47 ms
Min latency9.31 ms
Max latency9.85 ms
P50 latency9.41 ms
P90 latency9.73 ms
P95 latency9.79 ms
Throughput105.57 images/sec

测试配置:batch_size=1,预热 2 轮,正式 10 轮。

6. 精度评测

本项目提供 CPU-NPU smoke 一致性检查脚本 eval_accuracy.py,验证 NPU 推理结果与 CPU 对齐。详细日志见 logs/accuracy.log。

7. 自验证截图

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

8. 日志文件

  • logs/env_check.log — 环境检查
  • logs/inference.log — 推理结果
  • logs/accuracy.log — 精度一致性
  • logs/benchmark.log — 性能基准

9. 注意事项

  1. 权重文件通过 ModelScope snapshot_download 自动下载到本地缓存,不会提交到仓库。
  2. 严禁使用 timm.create_model(..., pretrained=True) 触发 HuggingFace 自动下载。
  3. 首次运行时会自动下载模型权重,请确保网络可访问 ModelScope。

10. 标签

#NPU #Ascend #ImageClassification #timm