yolov8学习

yolov8学习Day1

第一章 win11 + cpu + yolov8 跑通及训练
第二章 训练 COCO128 数据集



前言

Ultralytics YOLOv8是一款尖端、最先进的(SOTA)型号,它建立在以前YOLO版本的成功基础上,并引入了新的功能和改进,以进一步提高性能和灵活性。YOLOv8设计快速、准确且易于使用,是广泛的目标检测和跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。


一、win11 + cpu + yolov8 跑通及训练

  1. Pip在PyTorch>=1.8的Python>=3.8环境中安装ultralytics包,包括所有要求。
  2. 创建虚拟环境
    创建:
    conda create -n yolov8 python=3.11
    
    查看:
    conda env list
    
  3. 使用git下载yolov8源码,也可以直接在官网下载
    进入:
    git clone https://github.com/ultralytics/ultralytics
    
  4. 下载权重进入(yolov8n.pt)∶(下载请求被拒绝,记得科学上网)
    https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt
    
  5. PyCharm中打开项目ultralytics
  6. 切换虚拟环境:使用刚刚conda创建的yolov8虚拟环境,查看新建的yolov8环境可以通过输入查看
    conda env list 
    
    在pycharm中配置ananconda的虚拟环境
  7. 安装requirements.txt的依赖,在pycharm的Terminal中安装依赖(记得一定要在当前项目的路径下不然找不到requirements.txt)
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  8. 运行推理,在文件根目录下随便建个py文件。浅浅写个目标检测。
    from ultralytics import YOLO
    import cv2
    # 加载预训练模型
    model = YOLO("yolov8n.pt", task='detect')
    # model = YOLO("yolov8n.pt")  task参数也可以不填写,它会根据模型去识别相应任务类别
    # 检测图片
    results = model("./ultralytics/assets/bus.jpg")
    res = results[0].plot()
    cv2.imshow("YOLOv8 Inference", res)
    cv2.waitKey(0)
    
    推理的结果
    在这里插入图片描述

二、训练 COCO128 数据集

coco128数据集下载

在YOLO中自带的coco128.yaml文件:

1)可选的用于自动下载的下载命令/URL,

2)指向培训图像目录的路径(或指向带有培训图像列表的*.txt文件的路径),

3)与验证图像相同,

4)类数,

5)类名列表:

# download command/URL (optional)
download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip

# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: ../coco128/images/train2017/
val: ../coco128/images/train2017/

# number of classes
nc: 80

# class names
names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',
        'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow',
        'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee',
        'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard',
        'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',
        'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch',
        'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 
        'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 
        'teddy bear', 'hair drier', 'toothbrush']

没有找到coco128.yaml文件,直接创建一个新文件命名为coco128.yaml再在文件添加如上内容即可。

训练过程

源码的参数可以归类为四部分:

  1. yolo【启动命令】
  2. task【是[detect、segment、classification]中的一个。如果没有显式传递,YOLOv8将尝试从模型
    类型中猜测TASK】
  3. mode 【(必选) 是[train, val, predict, export]中的一个】
  4. args【(可选) 是任意数量的自定义arg=value对,如imgsz=64 输入图像大小,epochs=10,训练10轮】
    每一个mode都有固定而不同的args(参数),yolov8支持你可以输入所有参数,但是代码会根据mode来自动选择使用特定的参数。以下是不同mode的参数详解(同时附上官网链接):
    train
    val
    predict
    export
    在Terminal中输入
yolo train model = yolov8n.pt data = coco128.yaml epochs = 10 imgsz = 64

训练过程为
在这里插入图片描述

验证

Terminal上输入

yolo val model = yolov8n.pt data = coco128.yaml

验证过程
在这里插入图片描述

导出模型

Terminal上输入

yolo mode=export model=yolov8n.pt format=torchscript

导出结果
在这里插入图片描述在这里插入图片描述
可以netron网站上进行查看模型具体操作过程
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据引用和引用的内容,YOLOv8是一种目标检测模型。与YOLOv5相比,YOLOv8的yaml配置文件改动较小。YOLOv8采用了Anchor-Free的思想,使用VFL Loss、DFL Loss和CIOU Loss作为分类损失函数,并采用了Task-Aligned Assigner匹配方式进行样本匹配。此外,YOLOv8还引入了YOLOv8 Nano(速度最快)和YOLOv8 Extra Large(准确性最高)等不同规模的模型。 如果你想学习YOLOv8的相关知识,可以参考官方文档或者专业的教程。这些资源可以帮助你理解YOLOv8的原理、配置文件和模型性能,并帮助你开始使用和学习YOLOv8。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [YOLOv8模型学习笔记](https://blog.csdn.net/pengxiang1998/article/details/129151514)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [YOLOv8学习笔记](https://blog.csdn.net/GoodTime1110/article/details/129767920)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@M_J_Y@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值