官方写了yolov8目标检测版本的二次开发,没有写yolov8-cls版本的,yolo图像分类版本的我模仿写一下:
主要提取了results中的最大值,判断是属于哪个类别
from ultralytics import YOLO
import numpy as np
#核心代码在下方
cls_class=['A','B','C','D']#每个索引对应的类别名字
model_cls= YOLO(r"\weights\best.pt")#yolov8-cls训练好的权重路径
cls_box_result=model_cls.predict(source='/image',show=False,save=False,imgsz=320)
for result in cls_box_result:
cls_list = result.probs.data.cpu().numpy() # 提取出结果
cls_id = np.where(cls_list == np.max(cls_list)) # 找出最大值的索引
pre_class = cls_class[cls_id[0][0]]#找出对应的类别名字
print('预测结果为:',preclass)