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

timm/wide_resnet50_2.tv_in1k on Ascend NPU

1. 简介

本项目将 timm/wide_resnet50_2.tv_in1k 图片分类模型适配到华为昇腾 NPU (Ascend910) 上运行。

  • 原始模型: timm/wide_resnet50_2.tv_in1k
  • 模型类型: 图像分类 (Image Classification)
  • 输入尺寸: 224x224
  • 输出类别: 1000 (ImageNet-1k)
  • 适配方式: ModelScope snapshot_download 下载权重,timm.create_model(pretrained=False) 创建结构并加载本地权重

2. 验证环境

项目版本/型号
NPUAscend910
npu-smi25.5.2
PyTorch2.x
torch_npu适配 Ascend910
timmlatest

NPU 状态:npu_available=True,设备名称 Ascend910_9362,Health OK。

3. 推理运行

pip install -r requirements.txt
python inference.py

推理结果 (NPU Top-5):

  • Top-1: class_975 (0.1938)
  • Top-2: class_821 (0.1146)
  • Top-3: class_475 (0.0521)
  • Top-4: class_829 (0.0401)
  • Top-5: class_970 (0.0371)

日志保存在 logs/inference.log。

4. 精度验证

python eval_accuracy.py

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

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

5. 性能参考

python benchmark.py
指标数值
Runs10 (warmup 2)
Avg latency6.626 ms
Min latency6.576 ms
Max latency6.657 ms
P50 latency6.635 ms
P90 latency6.657 ms
P95 latency6.657 ms
Throughput150.93 images/sec

6. 精度评测

本工程未在完整 ImageNet-1k 验证集上运行正式精度评测。eval_accuracy.py 仅验证 CPU 与 NPU 推理结果的一致性,确认算子在 NPU 上的数值行为符合预期。

7. 自验证截图

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

8. 日志文件

文件内容
logs/env_check.logNPU 环境信息
logs/inference.log推理结果与 Top-5
logs/accuracy.logCPU-NPU 一致性对比
logs/benchmark.log性能基准测试
logs/paths.txt模型与权重本地路径

9. 注意事项

  • 权重通过 ModelScope snapshot_download 下载,不提交到本仓库。
  • 严禁使用 timm.create_model(..., pretrained=True) 触发 HuggingFace 直连下载。
  • 运行前请确保 NPU 驱动与 CANN 环境已正确配置。
  • 首次运行会自动从 ModelScope 下载模型权重到本地缓存目录。

10. 标签

#NPU #Ascend #ImageClassification #timm