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

timm/flexivit_large.1200ep_in1k on Ascend NPU

1. 简介

本文档记录了 timm/flexivit_large.1200ep_in1k 模型在华为昇腾 NPU (Ascend910) 上的适配过程。FlexiViT Large 是基于 Vision Transformer 架构的灵活 ViT 模型,在 ImageNet-1k 上以 1200 epoch 训练。

2. 验证环境

  • 硬件: 华为昇腾 910 NPU
  • 软件: CANN 25.5.2, PyTorch + torch_npu
  • 模型来源: ModelScope (timm/flexivit_large.1200ep_in1k)
  • 输入分辨率: 240x240
  • 权重加载: timm.create_model(pretrained=False) + 本地 safetensors 权重
  • 缺失/多余 keys: 0 / 0

3. 推理运行

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

# 运行推理
python inference.py

推理结果 (单张测试图片):

排名类别概率
Top-1class_6540.8865
Top-2class_6560.0165
Top-3class_7570.0027
Top-4class_6750.0027
Top-5class_7340.0022

4. 精度验证

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

指标数值
max_abs_error0.041845
mean_abs_error0.002475
relative_error0.1855%
cosine_similarity0.999997
threshold1.0%
结果PASS
  • CPU Top-1: class_654
  • NPU Top-1: class_654
  • CPU Top-5: class_654, class_656, class_757, class_675, class_734
  • NPU Top-5: class_654, class_656, class_757, class_675, class_734
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

指标数值
平均延迟10.45 ms
最小延迟10.12 ms
最大延迟10.63 ms
P50 延迟10.51 ms
P90 延迟10.63 ms
P95 延迟10.63 ms
吞吐量95.72 images/sec

测试条件: warmup 2 次 + 正式 10 次, batch_size=1, 输入 240x240

6. 精度评测说明

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

7. 自验证截图

详见 screenshots/self_verification.png

8. 日志文件

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

9. 注意事项

  • 本模型输入分辨率为 240x240(非标准 224x224),请确保预处理时使用正确的尺寸
  • 使用 timm.data.resolve_model_data_config 自动获取正确的数据预处理配置
  • 模型权重约 1.1GB,首次加载需从 ModelScope 下载
  • 精度验证使用单张测试图片的 CPU-NPU 一致性检查,非完整 ImageNet 评测

10. 标签 #NPU