z
zkx_/mobilenetv3_small_050.lamb_in1k-ascend
模型介绍文件和版本Pull Requests讨论分析

mobilenetv3_small_050.lamb_in1k on Ascend NPU

1. 简介

本文档记录 mobilenetv3_small_050.lamb_in1k MobileNetV3-Small(width=0.50)图像分类模型在昇腾 NPU(Ascend 910B3)上的迁移适配、精度评测与性能验证结果。

该模型是 MobileNetV3-Small 的最轻变体(约 1.0M 参数,width=0.50),使用 LAMB 优化器在 ImageNet-1k 上训练。width=0.50 意味着所有通道数缩减到标准版的一半,是 MobileNetV3-Small 系列中最轻量的版本。以 timm 格式发布,采用 timm.create_model() 加载。

相关获取地址:

  • 权重下载地址(HuggingFace):https://huggingface.co/timm/mobilenetv3_small_050.lamb_in1k

2. 验证环境

组件版本
torch2.8.0
torch_npu2.8.0.post4
timm1.0.27
CANN8.5.1
  • NPU:8 × Ascend 910B3

3. 部署

conda create -n timm-models python=3.11 -y && conda activate timm-models
pip install torch==2.8.0 torch_npu==2.8.0.post4 timm safetensors pillow numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
python inference.py --model_path ./mobilenetv3_small_050.lamb_in1k --image photo.jpg --device npu

4. 性能

测试条件:6 张合成 224×224 图像,batch_size=8,NPU 预热 1 轮。

指标数值
NPU 吞吐量82.4 img/s

width=0.50(1.0M 参数)推理速度反而低于 1.0× 和 0.75×,原因是 NPU 上极小模型的计算瓶颈在 kernel launch overhead 而非计算本身。

5. 精度

指标数值
平均余弦相似度0.999994
MAE0.000002
精度误差率0.0006%
Top-1 准确率100.0%

结论:精度误差率 0.0006%,评测通过。

6. 迁移适配说明

6.1 模型结构

  • Backbone:MobileNetV3-Small(width=0.50,约 1.0M 参数)
  • 输入:224×224 RGB
  • 输出:1000 维 softmax

6.2 适配代码

import timm, json; from safetensors.torch import load_file
with open("config.json") as f: cfg = json.load(f)
model = timm.create_model(cfg["architecture"], pretrained=False, num_classes=cfg["num_classes"])
model.load_state_dict(load_file("model.safetensors"), strict=False)
model.to("npu:0").eval()

7. 注意事项

  1. width=0.50 极轻量:仅 1.0M 参数,适合资源极度受限的设备
  2. timm 格式:与同系列其他模型共享适配代码
  3. 加速比有限:极小模型在 NPU 上的加速比低于大模型,因 kernel launch 开销占主导
  4. 首次 NPU 推理:1.0M 参数,算子编译极快(约 1-2 秒)
下载使用量0