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

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

  图像分类模型的输出是单个类别标签和一个置信度分数。YOLO26的分类模型的输出数据形状是长度为c的一维数组,c为基于imagenet数据集的1000个预训练分类,可以通过result.names属性获取全部分类,也可以从参考文献5中浏览全部1000中分类名称。不过将分类模型转换为onnx格式后,其输入形状、输出形状变为1,3,224,2241,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个预训练分类名称


参考文献:

1https://docs.ultralytics.com/zh/models/yolo26/

2https://docs.ultralytics.com/zh/tasks/classify/

3https://deepwiki.com/ultralytics/ultralytics/5.2-annotation-and-plotting-utilities

4https://docs.ultralytics.com/reference/engine/results/#ultralytics.engine.results.Probs

5https://deeplearning.cms.waikato.ac.nz/user-guide/class-maps/IMAGENET/

相关推荐
2601_962078194 小时前
Python中calendar.weekday用法
python·编程技巧·calendar·日期处理·weekday
2601_962218615 小时前
万象生鲜系统业财一体化底层打通技术自动生成经营账单
大数据·数据库·人工智能·python·算法
2601_966949655 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
2601_962885725 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
李高钢5 小时前
Python FastAPI 框架入门:从零搭建你的第一个高性能 API 服务
数据库·python·fastapi
ocean21036 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
Warson_L6 小时前
Python的OrderedDict
python
隐擎fox6 小时前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、
Warson_L6 小时前
Python的TypedDict
python·langchain·llm
晓窗科技7 小时前
口碑好的AI基座服务商
大数据·人工智能·python