本文档记录 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() 加载。
相关获取地址:
| 组件 | 版本 |
|---|---|
torch | 2.8.0 |
torch_npu | 2.8.0.post4 |
timm | 1.0.27 |
CANN | 8.5.1 |
8 × Ascend 910B3conda 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测试条件: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 而非计算本身。
| 指标 | 数值 |
|---|---|
| 平均余弦相似度 | 0.999994 |
| MAE | 0.000002 |
| 精度误差率 | 0.0006% |
| Top-1 准确率 | 100.0% |
结论:精度误差率 0.0006%,评测通过。
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()