g
gyccc/google-vit-large-patch16-224-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

google/vit-large-patch16-224 on Ascend NPU

1. 简介

将 HuggingFace 图片分类模型 google/vit-large-patch16-224(ViT-Large, 304M 参数)适配为单卡昇腾 NPU(Ascend910B4)可运行的提交工程。

模型架构:Vision Transformer (ViT) Large,Patch Size 16,输入分辨率 224x224,ImageNet-1K 1000 类分类。

2. 验证环境

项目版本/信息
NPU 型号Ascend910B4 (32GB HBM)
CANN8.5.1
PyTorch2.9.0+cpu
torch_npu2.9.0.post1+gitee7ba04
transformers4.57.6
Python3.11.14
OSLinux aarch64

3. 推理运行

依赖安装

pip install -r requirements.txt
# torch_npu 通常由昇腾容器预装,无需单独安装

运行命令

# 单张图片推理
python inference.py

# CPU vs NPU 精度对比
python eval_accuracy.py

# 性能基准测试
python benchmark.py

日志路径

  • 推理日志:logs/inference.log
  • 预测结果:logs/prediction.txt
  • 精度日志:logs/accuracy.log
  • 性能日志:logs/benchmark.log
  • 环境检查:logs/env_check.log

4. Smoke 验证

检查项结果
torch.npu.is_available()True
Top-1 预测valley, vale (prob=0.706)
Top-5 预测valley, alp, lakeside, promontory, cliff
推理 exit code0

5. 性能参考

指标值
预热次数2
测试次数5
平均延迟24.48 ms
最小延迟24.26 ms
最大延迟24.77 ms
P5024.45 ms
P9024.77 ms
P9524.77 ms
吞吐量40.84 images/sec

注:首次推理含图编译开销约 18s,预热后稳定在 ~24ms。

6. 精度评测

CPU vs NPU 一致性验证(同一张测试图片,同一官方 AutoImageProcessor 预处理):

指标值
CPU Top-1valley, vale (0.7035)
NPU Top-1valley, vale (0.7064)
Top-1 MatchTrue
Top-5 MatchTrue
Max abs diff (logits)0.0548
Mean abs diff (logits)0.0054
Max abs diff (probs)0.0029

CPU-NPU 结果高度一致,Top-1/Top-5 完全匹配。差异来自浮点精度差异。

7. 自验证截图

见 screenshots/self_verification.png。

8. 日志文件

  • logs/env_check.log — 环境检查
  • logs/inference.log — 推理结果
  • logs/prediction.txt — Top-5 预测
  • logs/accuracy.log — 精度对比
  • logs/benchmark.log — 性能基准

9. 注意事项

  • 预处理器:使用官方 AutoImageProcessor(ViTImageProcessor),未手写伪预处理
  • 测试图片:来自 https://picsum.photos/400/300,非 ImageNet 验证集
  • 首次推理耗时约 18s 含图编译(graph compilation)开销,预热后稳定 ~24ms
  • 本验证为 smoke accuracy / CPU-NPU 一致性验证,非官方 ImageNet 精度评测
  • 模型权重未提交(遵循 .gitignore 规则)
  • 未使用 fallback

10. 标签

#NPU