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

timm/resnet152.a1_in1k on Ascend NPU

1. 简介

本工程将 timm/resnet152.a1_in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910)。

模型通过 ModelScope snapshot_download 下载权重,使用 timm.create_model(pretrained=False) 创建模型结构并加载本地权重,确保不依赖 HuggingFace 自动下载。

2. 验证环境

项目版本/型号
NPUAscend910
npu-smi25.5.2
PyTorch NPU可用
设备名Ascend910_9362

详见 logs/env_check.log。

3. 推理运行

pip install -r requirements.txt
python inference.py

脚本使用 npu:0 进行真实推理,输入为 assets/test.jpg,输出 1000 维 logits,经 softmax 后取 Top-5 类别。

推理结果摘要:

  • Input shape: [1, 3, 224, 224]
  • Output shape: [1, 1000]
  • Top-1: class_701 (0.007979)

完整日志见 logs/inference.log。

4. 精度验证

python eval_accuracy.py

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

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

5. 性能参考

python benchmark.py

预热 2 次 + 正式 10 次,每次前后 torch.npu.synchronize()。

指标数值
avg latency0.014055 s
min latency0.013643 s
max latency0.014685 s
p50 latency0.014039 s
p90 latency0.014685 s
p95 latency0.014685 s
throughput71.15 images/sec

完整日志见 logs/benchmark.log。

6. 精度评测

本工程仅提供单图 smoke consistency 验证,非官方 ImageNet 完整验证集精度。CPU 与 NPU 输出 Top-1/Top-5 完全一致,概率差异在 1e-4 量级,表明 NPU 推理与 CPU 推理高度一致。

7. 自验证截图

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

8. 日志文件

日志说明
logs/env_check.logNPU 环境检查
logs/inference.logNPU 推理结果
logs/accuracy.logCPU-NPU 一致性对比
logs/benchmark.log性能基准测试

9. 注意事项

  1. 权重文件(.safetensors/.pth 等)不提交到仓库,运行时通过 ModelScope 自动下载到本地缓存。
  2. 测试图为占位图(网络下载失败时自动生成),推理结果仅供 smoke test 参考。
  3. 首次运行会触发 ModelScope 下载,耗时取决于网络状况。

10. 标签

#NPU