timm-vit_base_patch32 on Ascend NPU
1. 简介
本文档记录 timm-vit_base_patch32_clip_224.openai_ft_in1k (ViT Base Patch32 CLIP) 在昇腾 NPU 上的适配验证结果。
- 模型来源: timm/vit_base_patch32_clip_224.openai_ft_in1k
- 架构: Vision Transformer (ViT-Base, patch_size=32, CLIP 预训练 + ImageNet 微调)
- 参数量: ~88.2M
- 任务: Image Classification (图像分类, ImageNet-1K, 1000类)
- 适配状态: SUCCESS
- 适配时间: 2026-05-17
2. 验证环境
| 组件 | 版本 |
|---|
torch | 2.9.0 |
torch-npu | 2.9.0.post1 |
timm | 1.0.27 |
CANN | 8.5.1 |
- NPU: Ascend 910B4
- 系统: Linux aarch64
3. 推理脚本
python inference.py --device npu:0 --dtype float32
4. 推理输出证据
模型: vit_base_patch32_clip_224.openai_ft_in1k
设备: npu:0
精度: float32
--- CPU 推理 ---
输出形状: [1, 1000]
Logits 前5个: [-0.00716501 0.04500045 0.18650235 -0.16105877 0.12075771]
是否有 NaN: False
预测类别: 21
--- NPU 推理 (npu:0) ---
输出形状: [1, 1000]
Logits 前5个: [-0.00675533 0.04327702 0.18612371 -0.16193388 0.12383584]
是否有 NaN: False
预测类别: 21
5. 性能参考
6. CPU vs NPU 精度对比
| 指标 | 数值 |
|---|
| Cosine Similarity | 0.999986 |
| Max Abs Error | 0.014580 |
| 精度误差 | < 0.02% |
| 是否满足要求 | 是(< 1%) |
7. 评测材料
| 材料 | 文件 | 说明 |
|---|
| 推理脚本 | inference.py | 独立可运行的 NPU 推理代码 |
8. 注意事项
- 使用 timm 库的
vit_base_patch32_clip_224 模型定义
- 权重从 modelscope 的
timm/vit_base_patch32_clip_224.openai_ft_in1k 加载
- 基于 OpenAI CLIP 预训练权重,在 ImageNet-1K 上微调
- 输入: 随机 224x224 RGB 图像
- 输出: 1000 类 ImageNet 分类 logits
贡献者: xujiashuai
参赛赛道: 模型适配赛道
提交时间: 2026-05-17