← 返回首页
yolov8的训练模式和任务类型参数
发表时间:2024-03-24 09:55:53
yolov8的训练模式和任务类型参数

1.训练模式和任务类型参数

这些参数主要用于定义模型的基本运行模式和任务类型。在实际应用中,应根据具体需求和场景选择合适的 task 和 mode。

注意:如果目的是在一个新的数据集上训练一个目标检测模型,那么 task 应设置为 detect,而 mode 应设置为 train。

实例:

from ultralytics import YOLO
model = YOLO("./yolov8n.pt")
result1 = model(mode='predict',task='detect',source="./imgs/dance_girl_001.jpg", save=True)
model = YOLO("./yolov8n-seg.pt")
result2 = model(mode='predict', task='segment',source="./imgs/dance_girl_001.jpg", save=True)
model = YOLO("./yolov8n-cls.pt")
result3 = model(mode='predict',task='classify',source="./imgs/dance_girl_001.jpg", save=True)
model = YOLO("./yolov8n-pose.pt")
result4 = model(mode='predict', task='pose',source="./imgs/dance_girl_001.jpg", save=True)

也可以使用yolo cli命令测试不同的任务。

#目标检查模型
yolo task=detect mode=predict model=yolov8n.pt source='./imgs/dance_girl_001.jpg'
#目标分割模型
yolo task=segment mode=predict model=yolov8n-seg.pt source = './imgs/dance_girl_001.jpg'
#目标分类模型
yolo task=classify mode=predict model=yolov8n-cls.pt source = './imgs/dance_girl_001.jpg'
#目标姿态模型
yolo task=pose mode=predict model=yolov8n-pose.pt source = './imgs/dance_girl_001.jpg'

2.模型预测参数

YOLOv8现在可以接受输入很多,如下表所示。包括图像、URL、PIL图像、OpenCV、NumPy数组、Torch张量、CSV文件、视频、目录、通配符、YouTube视频和视频流。表格✅指示了每个输入源是否可以在流模式下使用,并给出了每个输入源使用流模式的示例参数。

下面是每个参数的解释:

实例:

import ultralytics
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('./model/predict/yolov8n.pt')

    print(model.names)
    # 预测图片里的人
    # model.predict('./images/xian_power001.jpg', classes=[0,5], conf=0.1, save=True)

    # model.predict('./images/xian_power001.jpg', classes=[0, 5], conf=0.1, save=True, save_txt=True, device='0')

    # model.predict('./images/girl001.jpg', classes=[0, 5], conf=0.1, save=True, save_txt=True, device='0',line_width=1)

    #model.predict('./images/girl001.jpg', classes=[0, 5], conf=0.1, show=True, save=True, save_txt=True, device='0',line_width=1)

    results = model(['./images/girl001.jpg','./images/bus001.png','https://img.simoniu.com/yolov8%E6%B5%8B%E8%AF%95%E5%9B%BE%E7%89%87001.png'])
    print(len(results)) #2
    icount=0
    for result in results:
        filename = f'dest{icount}.jpg'
        result.show()
        #把预测结果保存到指定的目录。
        result.save(f'./output/{filename}')
        icount+=1