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

timm/regnety_040.pycls_in1k on Ascend NPU

1. 简介

本工程将 timm/regnety_040.pycls_in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910)。模型使用 timm.create_model(pretrained=False) 创建结构,并通过 ModelScope snapshot_download 下载的本地权重加载,不依赖 HuggingFace 自动下载。

2. 验证环境

项目版本/说明
NPUAscend910_9362
PyTorch2.9.0+cpu
torch_npu可用
timm最新
modelscope最新

完整环境信息见 logs/env_check.log。

3. 推理运行

pip install -r requirements.txt
python inference.py

inference.py 使用 model_utils.py 加载模型与预处理,在 npu:0 上执行真实推理并输出 Top-5 预测结果。

4. 精度验证

python eval_accuracy.py

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

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

5. 性能参考

python benchmark.py

在单卡 Ascend910 NPU 上,输入尺寸 [1, 3, 224, 224],预热 2 次 + 正式 10 次的测试结果:

  • 平均 latency: 12.17 ms
  • 吞吐量: 82.17 images/sec

6. 精度评测

由于本工程未接入官方 ImageNet 验证集,精度评测以 CPU-NPU smoke 一致性为主。 logits 与概率差异均在可接受范围内,说明 NPU 推理结果与 CPU 对齐。

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性能基准测试

9. 注意事项

  1. 权重文件(.safetensors、.bin、.pth 等)已加入 .gitignore,不提交到仓库。
  2. 首次运行会自动通过 ModelScope 下载权重到本地缓存目录。
  3. 推理脚本中已包含 torch.npu.synchronize() 以确保正确的时序测量。

10. 标签

#NPU #Ascend #timm #image-classification