学习python使用Ultralytics的YOLO26进行分类的基本用法

Ultralytics的YOLO26模型提供专门的分类模型以支持图像分类,其主要预训练模型及参数如下表所示,其中的acc top1指标是指模型预测的第一名类别是否正确,用于评估模型的最优答案的准确率,而acc top5指标是指正确答案是否在模型预测的前五名类别中,用于评估模型的候选答案的准确率。

  图像分类模型的输出是单个类别标签和一个置信度分数。YOLO26的分类模型的输出数据形状是长度为c的一维数组,c为基于imagenet数据集的1000个预训练分类,可以通过result.names属性获取全部分类,也可以从参考文献5中浏览全部1000中分类名称。不过将分类模型转换为onnx格式后,其输入形状、输出形状变为[1,3,224,224]、[1,1000]的形式,具体解析方式后续再学习。
  图像分类模型的输出结果保存在result.probs属性中,其中data保存原始数据,也即对应1000个预训练分类的置信度,top1和top1conf为可能性最高的分类索引及置信度,top5和top5conf为可能性最高的前5个分类索引及置信度。

  最后是示例程序及程序运行效果,如下所示:

python 复制代码
from ultralytics import YOLO

# Load a model
model = YOLO(r"E:\MyPrograms\Python\ultralytics\yolo26m-cls.pt")

# Predict with the model
results = model("ertong.jpg")  

# Access the results
for result in results:
    print(result.probs.top1)
    print(result.probs.top5)
    print(result.probs.top1conf)
    print(result.probs.top5conf)
    print(result.probs.data.shape)
    print(result.probs.data)
    print(result.names)#1000个预训练分类名称


参考文献:

1\]https://docs.ultralytics.com/zh/models/yolo26/ \[2\]https://docs.ultralytics.com/zh/tasks/classify/ \[3\]https://deepwiki.com/ultralytics/ultralytics/5.2-annotation-and-plotting-utilities \[4\]https://docs.ultralytics.com/reference/engine/results/#ultralytics.engine.results.Probs \[5\]https://deeplearning.cms.waikato.ac.nz/user-guide/class-maps/IMAGENET/

相关推荐
wj3055853785 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
星寂樱易李6 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
qingfeng154156 小时前
企业微信机器人开发:如何实现自动化与智能运营?
人工智能·python·机器人·自动化·企业微信
彦为君9 小时前
Agent 安全:从权限提示到沙箱隔离
python·ai·ai编程
PILIPALAPENG10 小时前
Python 语法速成指南:前端开发者视角(JS 类比版)
前端·人工智能·python
用户83562907805111 小时前
Python 操作 PowerPoint 页眉与页脚指南
后端·python
枫叶林FYL11 小时前
项目九:异步高性能爬虫与数据采集中枢 —— 基于 Crawl<sub>4</sub>AI 与 Playwright 的现代化数据采集平台 项目总览
爬虫·python·深度学习·wpf
猫猫的小茶馆12 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
Miss_min12 小时前
128K长序列数据生成
开发语言·python·深度学习