本文档记录 iic/cv_resnet50_live-category(ResNet-50 直播分类模型)在昇腾 NPU(Ascend910)环境的快速部署与验证结果。
ResNet-50 直播场景图像分类模型,基于 PyTorch torchvision 框架。
相关获取地址:
| 组件 | 版本 |
|---|---|
torch | 2.5.1 |
torch_npu | 2.5.1 |
torchvision | >=0.20.0 |
CANN | 8.5.RC1 |
224x224PyTorch + torchvisionpip install torch torchvision pillowimport torch
import torchvision.models as models
from PIL import Image
from torchvision import transforms
device = torch.device("npu:0" if torch.npu.is_available() else "cpu")
ckpt = torch.load("pytorch_model.pt", map_location="cpu")
num_classes = ckpt['fc.weight'].shape[0] if 'fc.weight' in ckpt else 1000
model = models.resnet50(weights=None, num_classes=num_classes)
model.load_state_dict(ckpt, strict=False)
model = model.to(device).eval()
transform = transforms.Compose([
transforms.Resize(256), transforms.CenterCrop(224),
transforms.ToTensor(), transforms.Normalize(mean=[0.485,0.456,0.406], std=[0.229,0.224,0.225]),
])
img = Image.new("RGB", (224, 224), (128, 128, 128))
input_tensor = transform(img).unsqueeze(0).to(device)
with torch.no_grad():
output = model(input_tensor)
pred = output.argmax(-1).item()
print(f"Predicted class: {pred}")python3 inference.py| 指标 | 数值 |
|---|---|
| 平均推理时间 | 4.81ms |
| 测试次数 | 50 |
| 指标 | 数值 |
|---|---|
| Top-1 一致性 | 4/4 |
| Top-5 一致性 | 4/4 |
| 最大 logits 相对误差 | 0.09% |
| 平均 KL 散度 | 0.000003 |
| 结论 | PASS |