w
gcw_uQ09W7jl/timm-maxvit_xlarge_tf_224.in21k-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

timm/maxvit_xlarge_tf_224.in21k on Ascend NPU

1. 简介

本项目将 timm/maxvit_xlarge_tf_224.in21k 图片分类模型适配到华为昇腾 NPU (Ascend910)。

模型采用 MaxViT (Multi-Axis Vision Transformer) xlarge 架构,输入尺寸 224x224,在 ImageNet-21k 上预训练,输出 21843 类分类 logits。适配过程使用 timm.create_model(pretrained=False) 创建模型,通过 ModelScope snapshot_download 获取本地权重并加载,在昇腾 NPU 上完成推理验证、精度一致性检查和性能基准测试。

2. 验证环境

项目版本
NPUAscend910
CANN8.5.1
PyTorch2.x
torch_npu适配 CANN 8.5.1
npu_available=True, device=Ascend910_9362

3. 推理运行

pip install -r requirements.txt
python inference.py

推理结果 (NPU Top-5):

  • Top-1: class_7741 (0.194100)
  • Top-2: class_4773 (0.040868)
  • Top-3: class_7759 (0.031068)
  • Top-4: class_10255 (0.022308)
  • Top-5: class_11352 (0.016718)

日志保存在 logs/inference.log。

4. 精度验证

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

指标数值
max_abs_error0.000687
mean_abs_error0.000054
relative_error0.0006%
cosine_similarity1.000000
threshold1.0%
结果PASS
  • CPU Top-1: class_7741
  • NPU Top-1: class_7741
  • CPU Top-5: class_7741, class_4773, class_7759, class_10255, class_11352
  • NPU Top-5: class_7741, class_4773, class_7759, class_10255, class_11352
  • Top-1 match: True
  • Top-5 match: True

5. 性能参考

指标数值
avg_time50.485 ms
min_time49.345 ms
max_time51.892 ms
p50_time50.361 ms
p90_time51.734 ms
p95_time51.813 ms
images_per_sec19.81

测试配置:单卡 Ascend910,batch_size=1,输入 3x224x224,预热 2 轮,正式测试 10 轮取平均。

6. 精度评测说明

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

7. 自验证截图

见 screenshots/self_verification.png。

8. 日志文件

日志说明
logs/env_check.logNPU 环境检查
logs/inference.logNPU 推理结果
logs/accuracy.logCPU-NPU 精度一致性
logs/benchmark.logNPU 性能基准测试

9. 注意事项

  • 权重通过 ModelScope snapshot_download 下载(约 1.89GB),严禁使用 timm.create_model(..., pretrained=True) 从 HuggingFace 自动下载。
  • 推理脚本默认使用 npu:0,若环境只有单卡 NPU,会自动映射到可用设备。
  • 首次运行需要下载模型权重,请确保网络可访问 modelscope.cn。
  • 该模型为 ImageNet-21k 预训练,输出 21843 类而非 1000 类。

10. 标签

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