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

timm/repvgg_a1.rvgg_in1k on Ascend NPU

1. 简介

本项目将 timm/repvgg_a1.rvgg_in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910)上运行。模型通过 ModelScope snapshot_download 下载权重,使用 timm.create_model(pretrained=False) 创建结构并加载本地权重,在 NPU 上完成真实推理验证、CPU-NPU 精度一致性检查和性能基准测试。

  • 原始模型:timm/repvgg_a1.rvgg_in1k
  • 模型类型:RepVGG-A1
  • 输入尺寸:224x224
  • 输出类别数:1000(ImageNet-1k)

2. 验证环境

项目版本/型号
NPUAscend910
CANN8.5.1
PyTorch2.9.0+cpu
torch_npu与 CANN 8.5.1 配套
timm1.0.27
modelscope1.35.3
Python3.11.14

3. 推理运行

pip install -r requirements.txt
python inference.py

inference.py 会自动下载测试图片(或生成占位图),通过 model_utils.py 加载模型到 npu:0 执行推理,并输出 Top-5 预测结果到 logs/inference.log。

推理输出示例:

Model: timm/repvgg_a1.rvgg_in1k
Model dir: /opt/atomgit/.cache/modelscope/hub/models/timm/repvgg_a1___rvgg_in1k
Weights: /opt/atomgit/.cache/modelscope/hub/models/timm/repvgg_a1___rvgg_in1k/model.safetensors
Missing keys: 0, Unexpected keys: 0
Output shape: torch.Size([1, 1000])
Top-5 predictions:
  1. class_501: 0.446718
  2. class_824: 0.197189
  3. class_389: 0.049265
  4. class_568: 0.039145
  5. class_678: 0.026355
Inference completed successfully on npu:0

4. 精度验证

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

指标数值
max_abs_error0.005977
mean_abs_error0.001557
relative_error0.0647%
cosine_similarity1.000000
threshold1.0%
结果PASS
  • CPU Top-1: class_501
  • NPU Top-1: class_501
  • CPU Top-5: class_501, class_824, class_389, class_568, class_678
  • NPU Top-5: class_501, class_824, class_389, class_568, class_678
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

指标数值
avg_latency6.464 ms
min_latency6.440 ms
max_latency6.514 ms
p50_latency6.455 ms
p90_latency6.505 ms
p95_latency6.505 ms
images_per_sec154.70

测试配置:warmup 2 次 + 正式 10 次,batch_size=1,device=npu:0

6. 精度评测说明

本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。

7. 自验证截图

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

8. 日志文件

文件说明
logs/inference.log推理结果与 Top-5 预测
logs/accuracy.logCPU-NPU 精度一致性检查
logs/benchmark.logNPU 性能基准测试
logs/paths.txt模型与权重本地路径
logs/env_check.logNPU 环境检查

9. 注意事项

  1. 权重通过 ModelScope snapshot_download 下载,不使用 HuggingFace 直连,也不使用 timm.create_model(..., pretrained=True) 自动下载。
  2. 模型权重文件(.safetensors / .bin / .pth 等)不包含在本仓库中,首次运行时会自动从 ModelScope 下载到本地缓存。
  3. 本项目仅验证单卡 NPU 推理,未涉及多卡并行(TP/DP/EP)。
  4. 测试图片为随机网络图片或占位灰度图,仅用于 smoke test,不代表真实分类任务性能。

10. 标签 #NPU

#NPU #Ascend #Ascend910 #HardwareNPU #timm #RepVGG #image-classification