sheeps_/timm-vitb32-clip-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 模型适配到华为昇腾 NPU (Ascend910) 上运行。该模型是一个基于 CLIP 权重初始化的 ViT-B/32 视觉Transformer,在 ImageNet-1k 上微调,输出 1000 类分类 logits。

适配方式:

  • 通过 ModelScope snapshot_download 下载本地权重
  • timm.create_model(pretrained=False) 创建模型并加载本地权重
  • 使用 timm.data.resolve_model_data_config + create_transform 进行预处理
  • 真实 NPU (npu:0) 推理验证

2. 验证环境

项目版本
NPUAscend910
CANN8.5.1
PyTorch2.x
torch_npu对应版本
timmlatest

3. 推理运行

pip install -r requirements.txt
python inference.py

推理结果 (NPU Top-5):

  • Top-1: class_600 (0.009474)
  • Top-2: class_623 (0.008578)
  • Top-3: class_499 (0.008098)
  • Top-4: class_644 (0.007700)
  • Top-5: class_783 (0.007318)

日志保存在 logs/inference.log。

4. 精度验证

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

指标数值
max_abs_error0.012312
mean_abs_error0.002170
relative_error0.3167%
cosine_similarity0.999996
threshold1.0%
结果PASS
  • CPU Top-1: class_600
  • NPU Top-1: class_600
  • CPU Top-5: [600, 623, 499, 644, 783]
  • NPU Top-5: [600, 623, 499, 644, 783]
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

指标数值
avg_latency_ms5.808
min_latency_ms5.786
max_latency_ms5.913
p50_latency_ms5.795
p90_latency_ms5.913
p95_latency_ms5.913
images_per_sec172.18

6. 精度评测说明

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

7. 自验证截图

见 screenshots/self_verification.png。

8. 日志文件

  • logs/inference.log - NPU 推理日志
  • logs/accuracy.log - CPU-NPU 精度一致性验证日志
  • logs/benchmark.log - NPU 性能基准测试日志
  • logs/stage0.log - 模型可用性检查日志

9. 注意事项

  1. 权重通过 ModelScope 下载,首次运行需要联网
  2. 测试图片下载失败时会使用灰色占位图
  3. 严禁使用 pretrained=True 从 HuggingFace 自动下载
  4. 权重文件(*.bin, *.safetensors, *.pth, *.pt, *.ckpt, *.onnx)不提交到仓库

10. 标签

#NPU #Ascend #Ascend910 #timm #ViT #image-classification