码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • YOLOV8目标检测——最全最完整模型训练过程记录


    文章目录

    • 前言
    • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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)

    在这里插入图片描述

    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
    
    • 1
    • 2

    运行之后会出现一个询问: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')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    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的条码检测研究)
  • 相关阅读:
    【JavaScript 进阶教程】非 extends 的组合继承
    【图像去噪】基于matlab偏微分方程PDE图像去噪【含Matlab源码 1890期】
    如何为虚拟机添加磁盘,扩充原有分区的磁盘空间
    Kafka 数据重复怎么办?(案例)
    【ARMv8 SIMD和浮点指令编程】NEON 乘法指令——asimdrdm
    CSS复习笔记
    xxl-job 2.2之后版本高版本executor未授权访问漏洞
    mysql数据库安装
    PY32F003F18之PVD可编程电压检测
    【Call for papers】USENIX ATC-2023(CCF-A/计算机体系结构/2023年1月12日截稿)
  • 原文地址:https://blog.csdn.net/chenyuan1111/article/details/133944340
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号