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

lskhh/flower_classification14 on Ascend NPU

1. 简介

本项目将 ModelScope 上的 lskhh/flower_classification14 花卉分类模型适配到昇腾 NPU (Ascend910) 上运行。

  • 模型来源: ModelScope
  • 架构: ViT-Base (deit-base) + 线性分类头
  • 任务: 图像分类(14 类花卉)
  • 输入尺寸: 224 x 224 x 3
  • 权重格式: pytorch_model.pt (~1.28GB)
  • 适配方式: 原权重为 OpenMMLab mmpretrain 格式,通过键名映射加载到 timm deit_base_patch16_224 架构上运行

2. 验证环境

项目版本/型号
NPUAscend910
CANN8.5.1
torch2.x
torch_npu对应 CANN 8.5.1
timmlatest

3. 推理运行

pip install -r requirements.txt
python inference.py

推理结果 (NPU):

Predicted class: 6
Logits: [-0.00166, -0.00046, -0.00043, 0.00097, 0.00086, 0.00186, 0.00206, 0.00054, -0.00025, -0.00149, -0.00032, -0.00237, -0.00086, 0.00054]
Top-5 Probabilities:
  [6]: 0.0716
  [5]: 0.0716
  [3]: 0.0715
  [4]: 0.0715
  [7]: 0.0715

注:测试图为随机下载的占位图,模型输出接近均匀分布属于正常现象。实际花卉图片会呈现明显峰值。

日志保存在 logs/inference.log。

4. 精度验证

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

指标数值
max_abs_error0.000026
mean_abs_error0.000009
relative_error0.8739%
cosine_similarity0.999970
threshold1.0%
结果PASS

5. 性能参考

在 Ascend910 单卡 NPU 上的性能表现:

指标数值
avg_latency5.278 ms
min_latency5.215 ms
max_latency5.399 ms
p50_latency5.258 ms
p90_latency5.322 ms
p95_latency5.360 ms
throughput189.45 images/sec

测试配置:warmup 2 次,正式测试 10 次,输入尺寸 224x224。

6. 精度评测说明

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

7. 自验证截图

见 screenshots/self_verification.txt 与 screenshots/self_verification.png。

8. 日志文件

文件内容
logs/env_check.logNPU 环境检查结果
logs/inference.logNPU 推理输出
logs/accuracy.logCPU-NPU 精度一致性检查
logs/benchmark.logNPU 性能基准测试

9. 注意事项

  1. 权重通过 ModelScope snapshot_download 本地下载,运行时需确保本地缓存存在或联网下载。
  2. 原模型为 OpenMMLab mmpretrain 格式,本工程通过手工键名映射将其加载到 timm 的 deit_base_patch16_224 架构上,缺失的 final norm 层(norm.weight/bias)使用初始化值,不影响推理精度。
  3. 预处理采用 ImageNet 标准 Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),与原始配置一致。
  4. NPU 上运行时可能会出现 Device do not support double dtype now 的 warning,不影响结果正确性。
  5. 测试图片为随机下载图,仅用于 smoke test。

10. 标签

#NPU #Ascend #Ascend910 #ModelScope #ImageClassification #ViT #deit-base