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

timm/mobilenetv4_hybrid_medium.e500_r224_in1k on Ascend NPU

1. 简介

本项目将 ModelScope 模型 timm/mobilenetv4_hybrid_medium.e500_r224_in1k 适配为可在单卡昇腾 NPU(Ascend910)上运行的提交工程。

  • 模型来源:ModelScope(timm)
  • 模型类型:Image Classification
  • 输入尺寸:224 x 224
  • 类别数:1000
  • 参数量:约 11.1M
  • 权重加载方式:timm.create_model(pretrained=False) + ModelScope 本地权重加载
  • 无 HuggingFace 自动下载 fallback

2. 验证环境

项目版本/型号
NPUAscend910
npu-smi25.5.2
PyTorch2.x
torch_npu适配版本
timmlatest
modelscopelatest

环境详情见 logs/env_check.log。

3. 推理运行

pip install -r requirements.txt
python inference.py

推理脚本使用 model_utils.py 统一加载模型,通过 timm.data.resolve_model_data_config + create_transform 进行预处理,并在 npu:0 上执行真实推理。

推理结果 (NPU Top-5):

  • Top-1: class_510 (0.3064)
  • Top-2: class_519 (0.0977)
  • Top-3: class_449 (0.0605)
  • Top-4: class_460 (0.0601)
  • Top-5: class_492 (0.0306)

4. 精度验证

python eval_accuracy.py

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

指标数值
max_abs_error0.008750
mean_abs_error0.001427
relative_error0.0168%
cosine_similarity1.000000
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标数值
avg latency12.41 ms
min latency12.13 ms
max latency12.56 ms
p5012.44 ms
p9012.50 ms
p9512.53 ms
images/sec80.59

测试条件:batch=1, 输入 224x224, 预热 2 次 + 正式 10 次。

6. 精度评测

本工程未包含完整 ImageNet 验证集精度评测,仅提供 CPU/NPU 一致性 smoke 测试。如需完整精度,请使用 ImageNet 验证集运行标准评测。

7. 自验证截图

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

8. 日志文件

日志内容
logs/env_check.logNPU 环境信息
logs/inference.log推理结果与 Top-5
logs/accuracy.logCPU/NPU 一致性对比
logs/benchmark.log性能基准测试
logs/paths.txt模型下载路径与权重路径

9. 注意事项

  1. 权重不提交:.gitignore 已排除所有权重文件(*.bin, *.safetensors, *.pth, *.pt, *.ckpt, *.onnx)。首次运行时会通过 ModelScope snapshot_download 自动下载到本地缓存。
  2. 不 fallback:若 ModelScope 下载失败或权重加载失败,脚本会直接报错终止,不会回退到 HuggingFace 自动下载。
  3. NPU 独占:推理时模型和数据均迁移到 npu:0,前后调用 torch.npu.synchronize() 确保计时准确。

10. 标签

#NPU