本文档记录 keremberke/yolov8m-shoe-classification (YOLOv8m 图像分类模型) 在昇腾 NPU(Ascend910)环境的快速部署与验证结果。
该模型基于 Ultralytics YOLOv8 分类架构,使用 PyTorch 框架,支持一键加载推理。
相关获取地址:
参考文档:
| 组件 | 版本 |
|---|---|
torch | 2.5.1 |
torch_npu | 2.5.1 |
ultralytics | >=8.0.23 |
CANN | 8.5.RC1 |
224x2243PyTorch + UltralyticsFP16pip install ultralytics torch torchvision pillowimport torch
from ultralytics import YOLO
# 加载模型(自动选择 NPU 如果可用)
device = "npu:0" if torch.npu.is_available() else "cpu"
model = YOLO("keremberke/yolov8m-shoe-classification")
model.to(device)
# 预测
results = model.predict("image.jpg")
print(f"Predicted class: {results[0].probs.top1}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")pip install torch torchvision pillow
# 使用本地下载的 best.pt 权重
python3 inference.pypython3 inference.py验证结果:
npu:0测试条件:FP16 / batch=1 / warmup=5 / timed=50 runs,Ascend910 单卡。
| 指标 | 数值 |
|---|---|
| 平均推理时间 | 3.80 ms |
| 测试次数 | 50 |
NPU 与 CPU 输出对比,使用 4 张纯色测试图(RGB 255/0、0/255/0、0/0/255、128/128/128),比较 logits 一致性。
| 指标 | 数值 |
|---|---|
| Top-1 一致性 | 4/4 |
| Top-5 一致性 | 4/4 |
| 最大 logits 差异 | 1.8e-05 |
| 最大 logits 相对误差 | 0.0018 % |
| 平均 KL 散度 | 0.0 |
| 结论 | PASS |
AutoModelForImageClassification 加载.half()),CPU 对比时需 .float() 统一为 FP32 计算偏差[0] 索引取 logits本模型使用 img-classify-npu 技能适配。详情请参考技能文档。
~/.claude/skills/img-classify-npu/SKILL.md