YOLOv8:Roboflow公开数据集训练模型

2024-03-24 23:04

本文主要是介绍YOLOv8:Roboflow公开数据集训练模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 Roboflow公开数据集

Roboflow是一个提供计算机视觉数据集管理和处理工具的平台。虽然Roboflow本身并不创建或策划公开数据集,但它提供了一系列功能,帮助用户组织、预处理、增强和导出计算机视觉数据集。

官方网站:https://universe.roboflow.com/

然而,有几个常用的公开数据集可供计算机视觉使用,可以在Roboflow或其他计算机视觉平台上访问和使用这些数据集。以下是一些常用的计算机视觉公开数据集:

  1. COCO(Common Objects in Context):COCO是一个大规模数据集,其中包含带有对象注释的图像,可用于对象检测、分割和字幕生成等任务。

  2. ImageNet:ImageNet是一个包含数百万标记图像的数据集,涵盖了数千个类别。它被广泛用于图像分类和深度学习研究。

  3. Open Images:Open Images是一个包含数百万图像及其对象检测、分割和视觉关系注释的数据集。

  4. Pascal VOC:Pascal VOC数据集是一个包含图像及其对象检测、分割和分类注释的集合。它常用于计算机视觉算法的基准测试。

  5. Cityscapes:Cityscapes是一个专注于城市场景的数据集,包含高质量图像以及像素级别的语义分割和实例分割注释。

  6. LFW(Labeled Faces in the Wild):LFW是一个包含从网络收集的人脸图像的数据集。它常用于人脸识别任务。

部署安装YOLOv8环境

Github官方网址:https://github.com/ultralytics/ultralytics

安装和部署YOLOv8:http://t.csdnimg.cn/iGwXY

下载Roboflow公开数据集

打开官方网站:https://universe.roboflow.com/

 选择自己需要的数据集:

点击左旁工具栏的Dataset:

 由于我们需要的是在YOLOv8下训练的数据集,故点击YOLOv8

 

 在窗口中选择download zip to computer(下载压缩包至电脑)

即可下载完成

训练数据集

打开pycharm,在安装好的YOLOv8项目下新建datasets文件夹

 将下载好的Roboflow公开数据集(我下载的animals数据集)解压到datasets文件夹中,目录格式如下:

 注:coco128是另外一个数据集。

此时打开animals数据集文件夹中的data.yaml文件:

train: ../train/images
val: ../valid/images
test: ../test/imagesnc: 10
names: ['cat', 'chicken', 'cow', 'dog', 'fox', 'goat', 'horse', 'person', 'racoon', 'skunk']roboflow:workspace: roboflow-100project: animals-ij5d2version: 2license: CC BY 4.0url: https://universe.roboflow.com/roboflow-100/animals-ij5d2/dataset/2

此数据集共分为10类,训练、测试的地址都有给出。

在确保文件目录格式正确,存在yaml文件之后,打开pycharm终端控制器:

一定要进入所建的YOLOv8环境中。

模型训练在终端运行:

yolo detect train data=datasets/animals/data.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 batch=4 lr0=0.01 resume=True

注意:data=后要填写数据集文件夹中的yaml文件的绝对地址,相对地址可能会报错。

当然在训练的代码中会有许多参数,以上所填的是常用的训练参数,完整的训练参数如下:

 

 

 

 可参考YOLOv8文档:https://docs.ultralytics.com/modes/train/

 按回车即可开始训练数据集,系统将自动将训练好的模型保存至runs/detect/train文件夹下:

 其中weights文件中为,最后一次训练的模型last.pt以及效果最好的一次模型best.pt

以及数据集的标签图等:

 验证数据集

 在终端命令行输入:

yolo detect val data=E:\python_project\ultralytics-main\datasets\animals\data.yaml model=runs/detect/train/weights/best.pt batch=4

产生输出:

 其验证结果将保存至runs\detect\val文件夹下:

 可以看出训练的模型产生了较好的预测结果。

模型导出

使用下面的命令就可以导出模型:

yolo task=detect mode=export model=ultralytics/yolo/v8/detect/runs/detect/train/weights/best.pt 

参考

2023最新-用yolov8训练自己的数据集

http://t.csdnimg.cn/q6Gbb

YOLOv8教程系列:一、使用自定义数据集训练YOLOv8模型

http://t.csdnimg.cn/H5et2

这篇关于YOLOv8:Roboflow公开数据集训练模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843070

相关文章

SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南

《SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南》本文将基于开源项目springboot-easyexcel-batch进行解析与扩展,手把手教大家如何在SpringBo... 目录项目结构概览核心依赖百万级导出实战场景核心代码效果百万级导入实战场景监听器和Service(核心

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速