YOLOV8目标检测——最全最完整模型训练过程记录

news/2024/7/10 1:19:26 标签: YOLO, 目标检测, 人工智能

文章目录

  • 前言
  • 1 下载yolov8([网址](https://github.com/ultralytics/ultralytics))
  • 2 配置conda环境
  • 3 用pycharm打开文件
  • 3 训练自己的YOLOV8数据集
  • 4 run下运行完了之后没有best.pt文件
  • 5 导出为onnx文件
  • 6 yolov8应用完整案例(免费且包含源代码、数据集)
  • 总结

前言

本文记录一下yolov8训练目标检测模型的过程,以及其中的一些需要注意的地方。本人是yolov5直接使用的yolov8,因此本文也记录了与yolov5的训练过程不一样的地方。

原创声明:如有转载请注明文章来源。码字不易,如对卿有所帮助,欢迎评论、点赞、收藏。

1 下载yolov8(网址)

在这里插入图片描述

2 配置conda环境

这边说一下,pip这里会自动安装cpu版本的torch。因此安装torch要去官网下载,不注意的话后面训练模型会超级慢。

Prompt终端
1、创建一个新的环境,终端输入:
conda create -n YOLOV8_1 python=3.9 
2、激活环境:
conda activate YOLOV8_1
3、转到YOLOV8所在文件夹:
cd /d D:\python_set\ultralytics-yolov8-main
4、安装requirements.txt中的包
pip install -r requirements.txt

3 用pycharm打开文件

打开之后你可能会觉得yolov5文件包里面啥都有,怎么yolov8里面好像啥也没有,连个train.py都没有,还怎么用呀!其实这就是工程化代码的特点,你可以基于这个框架自己创建一个train,只要几行代码就可以训练好了。不会再是yolov5一个train文件看得头大。

  • 在ultralytics中加入创建dataset文件夹,子文件夹code_inspection是本人的项目。里面存档你的images、lables和yaml文件
    在这里插入图片描述
  • images

在这里插入图片描述

  • labels

在这里插入图片描述

  • yaml文件,这个是从coco128中改的(coco128.yaml路径为:ultralytics/cfg/datasets/coco8.yaml)

在这里插入图片描述

YOLOV8_39">3 训练自己的YOLOV8数据集

  • 打开终端

在这里插入图片描述输入如下:

# 相关参数需要自己修改一下,这个应该很好理解
yolo detect train data=datasets/code_inspection/code_inspection.yaml model=yolov8n.yaml pretrained=ultralytics/yolov8n.pt epochs=200 batch=8 lr0=0.01 resume=True

运行之后会出现一个询问:wanna会询问你要不要使用wandb记录训练结果,这个时候需要你点击进入链接,创建一个wandb的账号,账号会自动生成一个号码(20个字符作用的一个号码),就可以用wandb了。
在这里插入图片描述

yolov5yolov8
有train detect文件没有train detect文件,最好用终端训练
没有wandb有wandb

4 run下运行完了之后没有best.pt文件

yolov8的训练的文件会放在网络端,当然也是有办法放在本地的。我是没有的。
在这里插入图片描述
点击进入最上面的链接
在这里插入图片描述
按照如下顺序点击即可下载模型。反正我觉得不是很方便。
在这里插入图片描述
啊这,过了个小时,run文件下权重文件直接就出现了。可能是我重启之后的效果。
在这里插入图片描述

5 导出为onnx文件

这个倒是很方便的。创建一个文件,赋值下面代码就可以了。

from ultralytics import YOLO

# Load a model
model = YOLO('best.pt')  # load a custom trained model

# Export the model
model.export(format='onnx')

6 yolov8应用完整案例(免费且包含源代码、数据集)

大图像中的小目标检测——基于YOLOV8+OnnxRuntime部署+滑动窗口+Zbar的条码检测研究

总结

入门yolov8目标检测的步骤:

  1. 环境配置
  2. 标注数据集,标注的报错点在这里
    ((以YOLO标注为例)labelimg标注闪退的几种情况详解,报错IndexError: list index out of range)
  3. 熟悉训练过程。由于yolov8加入了一些可视化的东西,用过yolov5之后再来看yolov8会有反应不过来wandb的用法。
  4. 找一个案例练习,在这里给大家提供一个超级赞的案例,工业产线上的目标检测案例。
    (大图像中的小目标检测——基于YOLOV8+OnnxRuntime部署+滑动窗口+Zbar的条码检测研究)

http://www.niftyadmin.cn/n/5114624.html

相关文章

Post-Process1-水下

一、新建第三人称游戏项目,我这里选择C,你也可以选择Blueprint。 新建一个Level,命名为DemoUnderWater 保存一下,命名为DownUnderWater 添加水插件 选择Yes 勾选Show Engine Content和Show Plugin Content,在左侧可以看…

游游现在有a个 y ,b个 o ,c个 u ,他想用这些字母拼成一个字符串。

游游现在有a个 y ,b个 o ,c个 u ,他想用这些字母拼成一个字符串。三个相邻的字母是you可以获得2分,两个相邻的字母是oo,可以获得1分。问最多可以获得多少分? class Solution {public int score(int a,int b,int c){int num1Math.min(Math.min(a,b),c);bb-num1; if(b>2){re…

如何解决git 发生冲突的场景?

一、是什么 一般情况下,出现分支的场景有如下: 多个分支代码合并到一个分支时多个分支向同一个远端分支推送 具体情况就是,多个分支修改了同一个文件(任何地方)或者多个分支修改了同一个文件的名称 如果两个分支中…

先后在影酷/传祺E9/昊铂GT量产交付,这家ADAS厂商何以领跑

智能泊车赛道正在迎来黄金增长期,以魔视智能为代表的玩家正在驶入大规模量产的“快车道”。 继在广汽传祺影酷、广汽传祺 E9实现规模化量产交付之后,魔视智能的Magic Parking智能泊车系列解决方案再度在广汽埃安旗下高端智能轿跑——昊铂GT上面实现量产…

openGauss学习笔记-106 openGauss 数据库管理-管理用户及权限-管理员

文章目录 openGauss学习笔记-106 openGauss 数据库管理-管理用户及权限-管理员106.1 初始用户106.2 系统管理员106.3 安全管理员106.4 审计管理员106.5 监控管理员106.6 运维管理员106.7 安全策略管理员 openGauss学习笔记-106 openGauss 数据库管理-管理用户及权限-管理员 10…

IDEA 之 在不更改操作系统用户名的情况下更改 ${USER} 变量?

如何在不更改操作系统用户名的情况下更改 IntelliJ IDEA 中的 ${USER} 变量 IDEA -> Help -> Edit Custom VM 添加如下内容 -Duser.nameusername这样在文件或者函数注释的时候会读取这个配置,而不会读取电脑登录用户名

Selenium+Pytest自动化测试框架详解

前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承;一定的selenium基础——本篇不讲selenium,不会的可以自己去看selenium中文翻译网 一、测试框架简介 测试框架有什么优点 代码复用率高&…

开源软件有漏洞,作者需要负责吗?是的!

近日,禅道创始人王春生在开源中国发布的一篇文章引起了众多同行的围观,原因是他分享了一个开源协议在中国面临的 bug:开源软件许可协议通常会表明作者不对用户使用该开源软件所造成的任何问题负责。但是!这种条款,在中…