当前位置:   article > 正文

yolov8之训练、验证、预测、导出_yolov8预测结果输出

yolov8预测结果输出

y o l o v 8 之训练、验证、预测、导出 yolov8之训练、验证、预测、导出 yolov8之训练、验证、预测、导出

链接:https://pan.baidu.com/s/1_9hI8ZshNCJSMJVXNTVxbQ?pwd=1234
提取码:1234


一 YoloV8数据集制作

1.labelme的使用

2.数据集转为yolo格式


二 使用yolov8进行训练、验证、预测、导出

1.图像分类

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"./yolov8s-cls.pt"
# 数据集yaml文件路径
data_path = r"D:\YoloV8Manual\dataset\DogCat-cls"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Cls"
predict_ImgPath = r"dataset/DogCat-cls/test/cat"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
model.train(data=data_path, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
metrics = model.val(data=data_path)  # 在验证集上评估模型性能
# 4 模型预测
results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType, imgsz=imgsz)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

训练指标说明

在这里插入图片描述

在这里插入图片描述

验证指标说明

from ultralytics import YOLO
import os
# 0 参数配置
# 模型路径
model_path = r"D:\YoloV8Manual\AIModel\CatAndDog_Cls\weights\best.pt"
# 数据集yaml文件路径
data_path = r"D:\YoloV8Manual\dataset\DogCat-cls"
# 训练轮数
epochs = 1
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Cls"
predict_ImgPath = r"dataset/DogCat-cls/test/cat"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
#model.train(data=data_path, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
metrics = model.val(workers=0)  # 在验证集上评估模型性能
# 4 模型预测
#results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
#model.export(format=exportType, imgsz=imgsz)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

在这里插入图片描述

模型预测结果

from ultralytics import YOLO
import os
# 0 参数配置
# 模型路径
model_path = r"D:\YoloV8Manual\AIModel\CatAndDog_Cls\weights\best.pt"
# 数据集yaml文件路径
data_path = r"D:\YoloV8Manual\dataset\DogCat-cls"
# 训练轮数
epochs = 1
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Cls"
predict_ImgPath = r"dataset/DogCat-cls/val/cat"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
#model.train(data=data_path, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(workers=0)  # 在验证集上评估模型性能
# 4 模型预测
results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
#model.export(format=exportType, imgsz=imgsz)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

在这里插入图片描述
在这里插入图片描述

模型导出

在这里插入图片描述

1.导出TensorRT

TensorRT环境配置

from ultralytics import YOLO
import os
# 0 参数配置
# 模型路径
model_path = r"D:\YoloV8Manual\AIModel\CatAndDog_Cls\weights\best.pt"
# 数据集yaml文件路径
data_path = r"D:\YoloV8Manual\dataset\DogCat-cls"
# 训练轮数
epochs = 1
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Cls"
predict_ImgPath = r"dataset/DogCat-cls/val/cat"
save_predictImg_flag = True
exportType= "engine"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_path, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(workers=0)  # 在验证集上评估模型性能
# 4 模型预测
# results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

在这里插入图片描述
在这里插入图片描述

2.导出OpenVino

OpenVino环境配置

from ultralytics import YOLO
import os
# 0 参数配置
# 模型路径
model_path = r"D:\YoloV8Manual\AIModel\CatAndDog_Cls\weights\best.pt"
# 数据集yaml文件路径
data_path = r"D:\YoloV8Manual\dataset\DogCat-cls"
# 训练轮数
epochs = 1
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Cls"
predict_ImgPath = r"dataset/DogCat-cls/val/cat"
save_predictImg_flag = True
exportType= "openvino"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_path, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(workers=0)  # 在验证集上评估模型性能
# 4 模型预测
# results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在这里插入图片描述

2.图像检测

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"./yolov8s.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\det_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Det"
predict_ImgPath = r"dataset/DogCat-det/images/val"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
metrics = model.val(data=data_yaml)  # 在验证集上评估模型性能
# 4 模型预测
results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType, imgsz=imgsz)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

训练指标说明

在这里插入图片描述

在这里插入图片描述

验证指标说明

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"D:\YoloV8Manual\AIModel\CatAndDog_Det\weights\best.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\det_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Det"
predict_ImgPath = r"dataset/DogCat-det/images/val"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
metrics = model.val(data=data_yaml,workers=0)  # 在验证集上评估模型性能
# 4 模型预测
# results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
# model.export(format=exportType, imgsz=imgsz)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在这里插入图片描述

模型预测结果

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"D:\YoloV8Manual\AIModel\CatAndDog_Det\weights\best.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\det_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Det"
predict_ImgPath = r"dataset/DogCat-det/images/val"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(data=data_yaml,workers=0)  # 在验证集上评估模型性能
# 4 模型预测
results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
# model.export(format=exportType, imgsz=imgsz)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在这里插入图片描述
在这里插入图片描述

导出结果

1 导出TensorRT

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"D:\YoloV8Manual\AIModel\CatAndDog_Det\weights\best.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\det_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Det"
predict_ImgPath = r"dataset/DogCat-det/images/val"
save_predictImg_flag = True
exportType= "engine"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(data=data_yaml,workers=0)  # 在验证集上评估模型性能
# 4 模型预测
# results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType, imgsz=imgsz)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述

在这里插入图片描述

2 导出OpenVino

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"D:\YoloV8Manual\AIModel\CatAndDog_Det\weights\best.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\det_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Det"
predict_ImgPath = r"dataset/DogCat-det/images/val"
save_predictImg_flag = True
exportType= "openvino"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(data=data_yaml,workers=0)  # 在验证集上评估模型性能
# 4 模型预测
# results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType, imgsz=imgsz)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在这里插入图片描述
在这里插入图片描述

3.实例分割

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"./yolov8s-seg.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\seg_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Seg"
predict_ImgPath = r"dataset/DogCat-seg/images/val"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
metrics = model.val(data=data_yaml)  # 在验证集上评估模型性能
# 4 模型预测
results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType, imgsz=imgsz)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

训练指标说明

在这里插入图片描述

验证指标说明

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"./yolov8s-seg.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\seg_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Seg"
predict_ImgPath = r"dataset/DogCat-seg/images/val"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
metrics = model.val(data=data_yaml)  # 在验证集上评估模型性能
# 4 模型预测
# results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
# model.export(format=exportType, imgsz=imgsz)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述

模型预测结果

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"./yolov8s-seg.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\seg_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Seg"
predict_ImgPath = r"dataset/DogCat-seg/images/val"
save_predictImg_flag = True
exportType= "onnx"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(data=data_yaml,workers=0)  # 在验证集上评估模型性能
# 4 模型预测
results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
# model.export(format=exportType, imgsz=imgsz)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述
在这里插入图片描述

导出结果

1.导出TensorRT引擎

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"./yolov8s-seg.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\seg_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Seg"
predict_ImgPath = r"dataset/DogCat-seg/images/val"
save_predictImg_flag = True
exportType= "engine"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(data=data_yaml,workers=0)  # 在验证集上评估模型性能
# 4 模型预测
# results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType, imgsz=imgsz)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

在这里插入图片描述
在这里插入图片描述

2.导出openvino

from ultralytics import YOLO
# 0 参数配置
# 模型路径
model_path = r"./yolov8s-seg.pt"
# 数据集yaml文件路径
data_yaml = r"D:\YoloV8Manual\data_yaml\seg_data.yaml"
# 训练轮数
epochs = 500
imgsz = 224
batch = 4
project = r"./AIModel"
name = "CatAndDog_Seg"
predict_ImgPath = r"dataset/DogCat-seg/images/val"
save_predictImg_flag = True
exportType= "openvino"
exist_ok = True
# 1 加载模型
model = YOLO(model_path)
# 2 训练模型
# model.train(data=data_yaml, epochs=epochs, imgsz=imgsz,batch=batch,workers=0,project=project,name=name,exist_ok=True)
# 3 验证模型
# metrics = model.val(data=data_yaml,workers=0)  # 在验证集上评估模型性能
# 4 模型预测
# results = model.predict(source=predict_ImgPath,  imgsz=imgsz ,save=save_predictImg_flag,batch=batch)  # save plotted images
# 5 导出所需模式(以onnx为例)
model.export(format=exportType, imgsz=imgsz)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在这里插入图片描述
在这里插入图片描述


补充:

如何解决安装Anaconda后,使用pip install 包名 安装的包未出现在Anaconda目录的sit-site-packages,而出现在C盘python的sitepackag里问题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/812764
推荐阅读
  

闽ICP备14008679号