yolov8训练预测

1.什么是yolov8
yolov8是一个目标检测算法,支持图像分类、物体检测和实例分割等多种视觉AI任务,它可以在从CPU到GPU的各种硬件平台上运行。
2.yolo的优点
(1)yolo属于单阶段算法、速度快可用于实时数据处理
(2)yolo能够基于整张图片进行边界预测,其他传统方法只能根据图片的局部进行预测
(3)yolo通用性强
3.命令介绍
yolo task=detect mode=predict model=yolov8n.pt conf=0.25 source='ultralytics/assets/zidane.jpg'
yolo是启动命令,task可以指定是哪个任务,detect是目标检测任务,mode选则进行任务的类型例如训练、预测、验证predict为预测任务,mode使用哪一个模型进行预测。source为使用哪个内容进行检测
输入命令yolo task=detect mode=predict model=yolov8n.pt conf=0.25 source='ultralytics/assets/zidane.jpg'进行预测后可得到如下结果:jpg: 384x640 2 persons, 1 tie, 41.9ms即照片大小为384x640,2个人,一条领带


yolo task=detect mode=predict model=yolov8n.pt conf=0.25 source='screen'

新建一个test.py文件运行如下代码可实现相同效果(source不仅可以预测图片,还可以预测视频,source="screen"可以对屏幕进行检测)
from ultralytics import YOLO
yolo=YOLO("./yolov8n.pt",task="detect")
results=yolo(source="ultralytics/assets/zidane.jpg",save=True)
4.模型预测配置参数(该文件路径ultralytics\cfg\default.yaml)
# Predict settings -----------------------------------------------------------------------------------------------------
source: # (str, optional) source directory for images or videos
vid_stride: 1 # (int) video frame-rate stride
stream_buffer: False # (bool) buffer all streaming frames (True) or return the most recent frame (False)
visualize: False # (bool) visualize model features
augment: False # (bool) apply image augmentation to prediction sources
agnostic_nms: False # (bool) class-agnostic NMS
classes: # (int | list[int], optional) filter results by class, i.e. classes=0, or classes=[0,2,3]
retina_masks: False # (bool) use high-resolution segmentation masks
embed: # (list[int], optional) return feature vectors/embeddings from given layers
5.下载labelimg制作自己的数据集
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
下载之后命令行使用labelimg打开

有了数据集以后将其放在项目中,层级结构如下

根据路径进行配置即可

6.进行训练
from ultralytics import YOLO
import torch
if __name__ == '__main__':
model=YOLO('yolov8n.pt')
model.train(data='datasets/wheat/my_data.yaml',epochs=1000,batch=2,workers=0)
model.val()
7.进行预测
from ultralytics import YOLO
import torch
if __name__ == '__main__':
yolo=YOLO('runs/detect/train18/weights/best.pt',task="detect")
results = yolo(source="ultralytics/assets/video1.avi",save=True)

posted @   czeyu  阅读(44)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示