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

timm/resnet34.a1_in1k on Ascend NPU #NPU

1. 简介

将 timm 库的 ResNet-34 图片分类模型适配为可在单卡昇腾 NPU(Ascend910B)上运行的提交工程。

  • 模型来源:ModelScope timm/resnet34.a1_in1k
  • 权重加载方式:timm.create_model(pretrained=False) + ModelScope snapshot_download 本地权重
  • 不使用 HuggingFace 直连下载,不 fallback

2. 验证环境

项目值
NPUAscend910B
npu-smiOK
torch2.x
torch_npu已安装
timm已安装
modelscope已安装
Python3.x

3. 推理运行

# 安装依赖
pip install -r requirements.txt

# 单图推理
python inference.py

输出示例:

Output shape: torch.Size([1, 1000])
Device: npu:0

Top-5 Predictions:
  1. class_979 (0.9791)
  2. class_975 (0.0057)
  3. class_970 (0.0022)
  4. class_972 (0.0012)
  5. class_150 (0.0010)

4. 精度验证

python eval_accuracy.py

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

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

5. 性能参考

python benchmark.py
指标值
avg latency3.99 ms
min latency3.94 ms
max latency4.05 ms
p503.99 ms
p904.05 ms
p954.05 ms
throughput250.58 images/sec

6. 精度评测

本项目仅做 smoke consistency check(同输入同精度 CPU vs NPU 对比),非官方精度评测。

7. 自验证截图

见 screenshots/self_verification.png

8. 日志文件

logs/
├── env_check.log        # NPU 环境检查
├── inference.log        # 推理结果
├── accuracy.log         # CPU vs NPU 一致性验证
├── benchmark.log        # 性能基准
└── paths.txt            # 模型路径信息

9. 注意事项

  • 不提交权重文件(*.safetensors, *.bin, *.pth, *.pt, *.ckpt, *.onnx)
  • 不使用 timm.create_model(pretrained=True),避免 HuggingFace 自动下载
  • 通过 ModelScope snapshot_download 获取权重,timm.create_model(pretrained=False) 加载结构

10. 标签

#NPU