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

timm/vit_base_patch32_clip_224.openai_ft_in1k on Ascend NPU

1. 简介

本项目将 timm/vit_base_patch32_clip_224.openai_ft_in1k(基于 CLIP 预训练的 ViT-Base-Patch32,在 ImageNet-1K 上微调)适配到华为昇腾 NPU(Ascend910)单卡推理。

  • 模型来源:OpenAI CLIP 预训练 → ImageNet-1K 微调
  • 模型结构:Vision Transformer (ViT-Base),Patch 大小 32,输入分辨率 224×224
  • 分类头:标准 1000 类 ImageNet 分类头
  • 下载方式:ModelScope snapshot_download
  • 权重加载:timm.create_model(pretrained=False) + 本地 safetensors 加载

2. 验证环境

项目信息
硬件华为昇腾 910B NPU
设备Ascend910_9362
框架PyTorch + torch_npu
下载源ModelScope(非 HuggingFace 直连)

3. 推理运行

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

# 运行推理
python inference.py

推理输出 Top-5 预测结果,日志保存在 logs/inference.log。

推理输出示例:

Model: timm/vit_base_patch32_clip_224.openai_ft_in1k
ModelScope dir: /opt/atomgit/.cache/modelscope/hub/models/timm/vit_base_patch32_clip_224___openai_ft_in1k
Weights: /opt/atomgit/.cache/modelscope/hub/models/timm/vit_base_patch32_clip_224___openai_ft_in1k/model.safetensors
Missing: 0, Unexpected: 0
Output shape: torch.Size([1, 1000])

Top-5 predictions:
  1. class_514 (0.1153)
  2. class_971 (0.0743)
  3. class_805 (0.0682)
  4. class_655 (0.0406)
  5. class_428 (0.0399)

Note: class_x labels used when imagenet_classes not available.

4. 精度验证

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

指标数值
max_abs_error0.020519
mean_abs_error0.004086
relative_error0.3166%
cosine_similarity0.999995
threshold1.0%
结果PASS
  • CPU Top-1: class_514
  • NPU Top-1: class_514
  • CPU Top-5: class_514, class_971, class_805, class_655, class_428
  • NPU Top-5: class_514, class_971, class_805, class_655, class_428
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

指标数值
avg5.38 ms
min5.34 ms
max5.54 ms
p505.36 ms
p905.41 ms
p955.47 ms
throughput185.89 images/sec

6. 精度评测说明

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

7. 自验证截图

详见 screenshots/self_verification.png。

8. 日志文件

  • logs/inference.log — 推理结果
  • logs/accuracy.log — CPU-NPU 精度一致性验证
  • logs/benchmark.log — 性能基准测试
  • logs/env_check.log — NPU 环境检查

9. 注意事项

  • 本模型基于 CLIP 预训练,但已微调为标准 ImageNet 1000 类分类头
  • 权重通过 ModelScope 下载,使用 timm.create_model(pretrained=False) 加载本地权重
  • 禁止 HuggingFace 自动下载
  • 不提交任何权重文件(*.safetensors, *.bin 等)

10. 标签

#NPU