使用YOLOv8-gpu训练自己的数据集并预测

        本篇将教学使用示例代码训练自己的数据集(train)以及预测(predict)。

 

目录

一、代码获取

二、训练

1、添加自己的训练集

2、创建训练集设置文件 

 3、 修改训练代码中数据集设置文件

4、开始训练

三、预测

1、 修改图片路径

2、 开始预测

 总结


一、代码获取

        在抠头助手安装YOLO系列库时都会自动下载示例代码,抠头助手安装YOLO系列的教程参考博客YOLOv5、v8、v11小白安装教程(GPU版和CPU版)_yolov11 cpu-CSDN博客,如果不需要装库,只需要下载代码可以直接前往训练代码进行下载(资源免费,点击下载即可)

打开项目后文件结构如下:

  • 橙色是预测示例图片
  • 蓝色是训练集设置文件
  • 红色是训练和预测代码
  • 黄色是yolo模型文件

📦 项目根目录
├─ 📁 C包
├─ 📁 github
├─ 📁 .idea
├─ 📁 docker
├─ 📁 docs
├─ 📁 examples
├─ 📁 imgs
├─ 📁 my_training_results
├─ 📁 runs
├─ 📁 tests
├─ 📁 ultralytics
├─ .gitignore
├─ 说明书.md
├─ bus.jpg
├─ CITATION.cff
├─ coco128-seg.yaml
├─ coco128.yaml

├─ CONTRIBUTING.md
├─ cusPost.py
├─ cusPredict.py
├─ cusSeg.py
├─ cusTrain.py
├─ cusTrainSeg.py

├─ LICENSE
├─ mkdocs.yml
├─ pyproject.toml
├─ README.md
├─ README.zh-CN.md
├─ requirementsV8.txt
├─ yolov8n-cls.pt
├─ yolov8n-pose.pt
├─ yolov8n-seg-custom.pt
├─ yolov8n-seg.pt
├─ yolov8n.pt
└─ yolov8s.pt

        如果需要其他模型可以前往GitHub - ultralytics/ultralytics at v8.2.103(需要魔法上网)下划找到如图所示位置下载模型,仍然按照上面的文件结构放置模型文件即可。

模型下载

 


二、训练

1、添加自己的训练集

这里以“小目标检测数据集”为例。

  • 解压数据集压缩包到代码目录下,位置如图所示:
数据集位置

 

2、创建训练集设置文件 

    • 创建该数据集的yaml设置文件,格式如下,根据自己数据集的类别和文件路径进行修改,比如:数据集的文件路径为D:\CodeTou-Download\YOLOV8_67\YOLOV8\小目标检测数据集,则path: D:\CodeTou-Download\YOLOV8_67\YOLOV8\小目标检测数据集;查看小目标数据集下的class.txt,有两个类别,则nc: 2;类别名称分别是earth_person,sea_person,则names: [ 'earth_person', 'sea_person' ] 。
    # 小目标检测数据集配置文件
    # 基于YOLO格式的小目标检测数据集# 数据集根目录(相对于yaml文件位置)
    path: D:\CodeTou-Download\YOLOV8_67\YOLOV8\小目标检测数据集  # dataset root dir# 训练集和验证集路径
    train: images/train  # train images (relative to 'path')  
    val: images/val  # val images (relative to 'path')
    test: images/test  # test images (optional)# 类别数量
    nc: 2# 类别名称列表
    names: ['earth_person', 'sea_person']
    

     

     3、 修改训练代码中数据集设置文件

    这里以检测模型为例,使用cusTrain.py来训练。

    训练代码中数据集位置

     

    • 如果训练终止出现Memory Error,一般是内存占用满导致的,可以修改batch大小。
    • 如果想要训练效果更好可以适当增加epochs

    4、开始训练

    • IDE鼠标点击运行
    • IDE终端代码运行

    python cusTrain.py

     

    5、 训练结果

    • 训练结果在runs/目录下查看。


    三、预测

      这里使用cusPredict.py 

      1、 修改图片路径

              在第11行处修改要预测的图片路径。

      2、 开始预测

      • IDE鼠标点击运行
      • IDE终端代码运行
      python cusPredict.py


       总结

              以上就是使用示例代码训练和预测的流程。

      本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
      如若转载,请注明出处:http://www.pswp.cn/diannao/94402.shtml
      繁体地址,请注明出处:http://hk.pswp.cn/diannao/94402.shtml

      如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

      相关文章

      Transformer的并行计算与长序列处理瓶颈

      Transformer相比RNN(循环神经网络)的核心优势之一是天然支持并行计算,这源于其自注意力机制和网络结构的设计.并行计算能力和长序列处理瓶颈是其架构特性的两个关键表现: 并行计算:指 Transformer 在训练 / 推理时通过…

      LightRAG:大模型时代的低成本检索利器

      LightRAG:大模型时代的低成本检索利器 大模型浪潮下,RAG 技术的困境与曙光 在科技飞速发展的当下,大语言模型(LLMs)已成为人工智能领域的璀璨明星。从最初惊艳世人的 GPT-3,到如今功能愈发强大的 GPT-4&…

      spring boot开发中的资源处理等问题

      文章目录一、RESTful 风格二、Spring Boot 静态资源处理三、Spring Boot 首页(欢迎页)四、PathVariable 注解五、拦截器(Interceptor)六、过滤器(Filter)七、触发器(Trigger)八、Han…

      [2025CVPR-图象生成方向]ODA-GAN:由弱监督学习辅助的正交解耦比对GAN 虚拟免疫组织化学染色

      ​研究背景与挑战​ ​临床需求​ 组织学染色(如H&E和IHC)是病理诊断的核心技术,但IHC染色存在耗时、组织消耗大、图像未对齐等问题。 虚拟染色技术可通过生成模型将H&E图像转换为IHC图像,但现有方法面临两大挑战: ​染色不真实性​:生成图像与真实IHC的分布存在…

      【Leetcode】2106. 摘水果

      文章目录题目思路代码CJavaPython复杂度分析时间复杂度空间复杂度结果总结题目 题目链接🔗 在一个无限的 x 坐标轴上,有许多水果分布在其中某些位置。给你一个二维整数数组 fruits ,其中 fruits[i] [positioni, amounti] 表示共有 amounti…

      (CVPR 2024)SLAM卷不动了,机器人还有哪些方向能做?

      关注gongzhonghao【CVPR顶会精选】众所周知,机器人因复杂环境适应性差、硬件部署成本高,对高效泛化一直需求迫切。再加上多传感器协同难题、真实场景数据获取不易,当下对迁移学习 机器人智能融合的研究也就更热烈了。不过显然,这…

      Go语言 延 迟 语 句

      延迟语句(defer)是Go 语言里一个非常有用的关键字,它能把资源的释放语句与申请语句放到距离相近的位置,从而减少了资源泄漏的情况发生。延迟语句是什么defer 是Go 语言提供的一种用于注册延迟调用的机制:让函数或语句可…

      【go 】数组的多种初始化方式与操作

      在 Go 语言中,数组是一种固定长度的数据结构,用于存储相同类型的元素。以下是 Go 中数组的多种初始化方式,结合搜索结果整理如下: (一)使用 var 关键字声明并初始化数组 使用 var 关键字声明数组时&#xf…

      基于Java+MySQL 实现(Web)网上商城

      悦桔拉拉商城1. 课设目的可以巩固自己之前所学的知识,以及学习更多的新知识。可以掌握业务流程,学习工作的流程。2. 开发环境硬件环境:Window11 电脑、Centos7.6 服务器软件环境:IntelliJ IDEA 2021.1.3 开发工具JDK 16 运行环境M…

      高并发抢单系统核心实现详解:Redisson分布式锁实战

      一、方法整体流程解析 #mermaid-svg-MROZ2xF7WaNPaztA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MROZ2xF7WaNPaztA .error-icon{fill:#552222;}#mermaid-svg-MROZ2xF7WaNPaztA .error-text{fill:#552222;strok…

      Android12 User版本开启adb root, adb remount, su, 关闭selinux

      开启adb root 直接看adb源码: __android_log_is_debuggable就是判断ro.debuggable属性值,感兴趣可以在 源码下grep下实现看看。auth_required :在adb源码下定义的全局变量,默认等于true,。看名字就是是否需要用户授权的flag, 这里不再继续跟…

      金融专业高分简历撰写指南

      一、金融求职简历原则:深度与亮点并存在金融行业求职时,一份出色的简历需突出经历深度与亮点。01 教育背景需如实填写毕业院校、专业、GPA及所学课程。金融行业不少公司对求职者学校和学历有严格标准,如“985”“211”院校或硕士以上学历等。…

      专题:2025生命科学与生物制药全景报告:产业图谱、投资方向及策略洞察|附130+份报告PDF、原数据表汇总下载

      原文链接:https://tecdat.cn/?p43526 过去一年,全球生命科学VC融资回暖至1021.5亿美元,并购交易虽下滑23%却聚焦关键赛道,创新药管线中GLP-1受体激动剂以170亿美元市场规模领跑,AI技术将研发周期缩短60%……这些数据背…

      Compose笔记(四十)--ClickableText

      这一节主要了解一下Compose中的ClickableText,在Jetpack Compose中,ClickableText是用于创建可点击文本的组件,其核心功能是通过声明式语法将文本设置为交互式元素,用户点击时可触发特定操作。简单总结如下:API含义 text&#xff…

      面试必刷的数组三连:原地删除与合并

      坚持用 清晰易懂的图解 多语言代码,让每道题变得简单! 呆头个人主页详情 呆头个人Gitee代码仓库 呆头详细专栏系列 座右铭: “不患无位,患所以立。” 面试必刷的数组三连:原地删除与合并前言目录1.移除元素2.删除有序…

      力扣经典算法篇-41-旋转图像(辅助数组法,原地旋转法)

      1、题干 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1:输入:matrix [[1,2,3],[4,5,6],[7,8,9]]…

      译|用户增长策略如何使用因果机器学习的案例

      来自上传文件中的文章《[Causal Machine Learning for Growth: Loyalty Programs, LTV, and What to Do When You Can’t Experiment | by Torty Sivill | Towards AI]》 本文探讨了当 A/B 测试不可行时,如何利用因果推断从历史数据中获取洞察。技术亮点在于通过构建…

      java~final关键字

      final关键字final基本介绍final的使用细节final基本介绍 final是最终的意思,可以修饰类,属性,方法,局部变量什么时候会要使用到final呢? 1.想要类不被继承时 2.不希望类的某个属性的值被改变时 3.不想父类的某个方法被…

      Node.js(四)之数据库与身份认证

      数据库与身份认证 目录 数据库与身份认证 十三、数据库的基本概念 13.1 什么是数据库 13.2 常见的数据库及分类 13.3 传统型数据库的数据组织结构 1. Excel 的数据组织结构 2. 传统型数据库的数据组织结构 3. 实际开发中库、表、行、字段的关系 十四、安装并配置MySQ…

      SpringBoot+SpringMVC常用注解

      文章目录发展历程项目创建项目结构入门案例配置文件的两种方式:只能使用一种创建项目二入门案例常用知识及注解Controller:类上面加,SpringMVC的注解GetMapping:方法上面加Spring框架的两项核心功能Component:组件。控制反转,加在业务类上面&…