本文档记录 timm/mobilenetv3_small_100.lamb_in1k 在昇腾 NPU(Ascend910)环境的快速部署与验证结果。
mobilenetv3_small_100 图像分类模型,基于 timm 框架,支持一键加载推理。
相关获取地址:
参考文档:
| 组件 | 版本 |
|---|---|
| torch | 2.5.1 |
| torch_npu | 2.5.1 |
| timm | >=1.0.0 |
| CANN | 8.5.RC1 |
pip install timm torch torchvision pillowimport torch
from timm import create_model
from PIL import Image
from torchvision.transforms import Compose, Resize, CenterCrop, ToTensor, Normalize
device = torch.device('npu:0' if torch.npu.is_available() else 'cpu')
model = create_model('mobilenetv3_small_100', pretrained=True).to(device).eval()
transform = Compose([
Resize(int(224 / 0.875)),
CenterCrop(224),
ToTensor(),
Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
image = Image.new('RGB', (224, 224), (128, 128, 128))
input_tensor = transform(image).unsqueeze(0).to(device)
with torch.no_grad():
outputs = model(input_tensor)
pred = outputs.argmax(-1).item()
print(f'Predicted class: {pred}')python3 inference.py验证结果:
测试条件:FP32 / batch=1 / warmup=5 / timed=50 runs,Ascend910 单卡。
| 指标 | 数值 |
|---|---|
| 平均推理时间 | 4.45 ms |
| 测试次数 | 50 |
NPU 与 CPU 输出对比,使用 4 张纯色测试图(RGB 255/0、0/255/0、0/0/255、128/128/128),比较 logits 一致性。
| 指标 | 数值 |
|---|---|
| Top-1 一致性 | 4/4 (100%) |
| Top-5 一致性 | 3/4 (75%) |
| 最大 logits 相对误差 | 0.845 % |
| 平均 KL 散度 | 4e-05 |
| 结论 | PASS |