panhg/vit_base_patch16_224.augreg_in21k
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

ViT-Base-Patch16-224 (augreg_in21k) · 昇腾 NPU 适配

模型简介

ViT(视觉Transformer)Base是基于Transformer架构的图像分类模型,由Google Research提出。该模型将图像切分为16×16的图块,通过图块嵌入(Patch Embedding)与Transformer编码器(Transformer Encoder)进行分类。

属性值
模型名称vit_base_patch16_224.augreg_in21k
参数量1.026亿
输入尺寸224 × 224 × 3
图块大小16 × 16
类别数21,843(ImageNet-21k)
隐藏维度768
原始框架PyTorch / timm
预训练方式增强回归(AugReg)
模型来源ModelScope

昇腾 NPU 适配

本仓库提供ViT-Base-Patch16-224模型在华为昇腾Ascend 910 NPU上的推理适配代码与评测报告。

环境要求

组件版本
CANN8.5.1
PyTorch2.9.0
torch_npu2.9.0.post1
timm≥ 1.0
modelscope≥ 1.0
Python3.11

快速开始

1. 安装依赖

pip install timm modelscope torch_npu

2. 下载模型

modelscope download --model timm/vit_base_patch16_224.augreg_in21k

3. 运行推理

# NPU 推理 + 精度对比 + 性能测试
python3 inference.py

推理代码

import torch
import torch_npu
import timm

device = torch.device("npu:0")
model = timm.create_model(
    "vit_base_patch16_224.augreg_in21k",
    pretrained=False,
    num_classes=21843,
    checkpoint_path="./model.safetensors",
).to(device).eval()

x = torch.randn(1, 3, 224, 224).to(device)
with torch.no_grad():
    output = model(x)
print(f"Output shape: {output.shape}")  # [1, 21843]

精度评测

评测方法

  • 基线:CPU (PyTorch float32)
  • 测试集:10 组随机输入 (seed 0-9)
  • 指标:平均相对误差、Top-1/Top-5 一致性

评测结果

指标值阈值状态
平均相对误差0.167%< 1%✅ 通过
Top-1 匹配率100% (10/10)-✅ 通过
Top-5 匹配率84% (42/50)-✅ 通过
逐样本详细结果
Seed最大绝对误差相对误差Top-1Top-5状态
01.76e-010.195%✓3/5通过
11.36e-010.162%✓3/5通过
21.20e-010.164%✓5/5通过
31.13e-010.148%✓5/5通过
41.34e-010.178%✓4/5通过
51.03e-010.124%✓5/5通过
61.44e-010.184%✓3/5通过
71.35e-010.179%✓5/5通过
81.40e-010.179%✓4/5通过
91.19e-010.159%✓5/5通过

性能评测

硬件环境

  • NPU:Huawei Ascend 910 × 2 (单卡推理)
  • CPU:ARM aarch64
  • CANN:8.5.1

延迟 (Latency)

批处理大小均值 (毫秒)P95 (毫秒)P99 (毫秒)
15.445.63-
45.545.65-
88.008.02-

吞吐量 (Throughput)

批处理大小图像/秒毫秒/图像
1183.75.44
4721.81.39
81000.41.00

加速比

指标CPUNPU加速比
单图延迟 (bs=1)627.24 毫秒5.44 毫秒115×

交付件说明

文件说明
inference.pyNPU 推理脚本 (加载/推理/精度验证/性能测试)
eval/benchmark.py评测脚本 (精度 + 延迟 + 吞吐)
eval/eval_report.json评测原始数据 (JSON)
eval/eval_summary.md评测摘要 (Markdown)
eval/inference_run.log推理运行日志
eval/benchmark_run.log评测运行日志
README.md本文件

引用

@article{dosovitskiy2020vit,
  title={An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale},
  author={Dosovitskiy, Alexey and Beyer, Lucas and Kolesnikov, Alexander and
          Weissenborn, Dirk and Zhai, Xiaohua and Unterthiner, Thomas and
          Dehghani, Mostafa and Minderer, Matthias and Heigold, Georg and
          Gelly, Sylvain and Uszkoreit, Jakob and Houlsby, Neil},
  journal={ICLR},
  year={2021}
}

许可

Apache 许可证 2.0