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

timm/mobilevit_s.cvnets_in1k on Ascend NPU

1. 简介

本项目将 timm 模型 mobilevit_s.cvnets_in1k 适配到华为昇腾 NPU (Ascend910B),实现单卡推理。MobileViT-S 是一种轻量级混合 Transformer 架构,结合了 CNN 和 Transformer 的优势,适用于移动/边缘部署场景。模型在 ImageNet-1K 上训练,包含 1,000 个类别,输入分辨率 256x256。

2. 验证环境

  • 硬件:华为昇腾 NPU (Ascend910B)
  • 框架:PyTorch + torch_npu
  • 模型参数量:~5.6M(Small 级别,适合移动端)
  • 输入尺寸:1 x 3 x 256 x 256
  • 输出维度:[1, 1000](ImageNet-1K 分类)

3. 推理运行

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

# 运行推理
python inference.py

Top-5 预测结果(单张测试图片):

排名类别索引概率
1class_9750.9049
2class_9780.0356
3class_9760.0227
4class_4600.0191
5class_4370.0010

4. 精度验证

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

指标数值
max_abs_error0.013913
mean_abs_error0.003910
relative_error0.4127%
cosine_similarity0.999995
threshold1.0%
结果PASS
  • CPU Top-1: class_975
  • NPU Top-1: class_975
  • CPU Top-5: class_975, class_978, class_976, class_460, class_437
  • NPU Top-5: class_975, class_978, class_976, class_460, class_437
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

指标数值
avg latency10.18 ms
min latency7.48 ms
max latency31.70 ms
p50 latency7.80 ms
p90 latency31.70 ms
p95 latency31.70 ms
throughput98.25 images/sec

6. 精度评测说明

本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。CPU-NPU 精度一致性检查采用相对误差指标,阈值为 1.0%。详细指标见第 4 节。

7. 自验证截图

详见 screenshots/self_verification.png 和 screenshots/self_verification.txt。

8. 日志文件

  • logs/inference.log — 推理结果
  • logs/accuracy.log — 精度验证
  • logs/benchmark.log — 性能基准

9. 注意事项

  • 模型通过 ModelScope snapshot_download 下载权重,使用 timm.create_model(pretrained=False) 创建结构并加载本地权重
  • MobileViT-S 是轻量级混合架构(CNN + Transformer),参数量仅约 5.6M
  • 预处理参数由 timm.data.resolve_model_data_config 自动推导
  • 未使用 HuggingFace 直连下载,未 fallback,未提交权重文件

10. 标签

#NPU