零基础教程:使用yolov8训练自己的目标检测数据集

1.前言

Ultralytics YOLOv8 是一款前沿、最先进(SOTA)的模型,基于先前 YOLO 版本的成功,引入了新功能和改进,进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用,使其成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。

2.源码下载以及部署

1.下载地址:

https://github.com/ultralytics/ultralytics

下载预训练权重

将下载好的预训练权重放在根目录下面

下载完之后用pycharm打开

2.部署环境

激活虚拟环境之后

python">pip install ultralytics

在pycharm里面选择自己的深度学习环境

3.准备数据集

yolo格式的数据集(COCO):标签是txt文件

VOC数据集:标签是xml文件

将准备好的xml格式数据集放在data文件夹下面

4.修改配置文件

1.修改数据集的路径

打开VOC.yaml文件

复制VOC.yaml到同级文件夹,改名叫hatDataDemo.yaml,与数据集名称保持一致

替换数据集目录

目录路径是完整路径

修改训练验证以及测试的路径

5.修改类别

6.修改类别数

找到yolov8.yaml文件

复制yolov8.yaml到同级文件夹,并改名叫myyolov8.yaml

然后修改nc(类别数):6

3.训练自己的数据集

1.打开官方指导步骤

Python - Ultralytics YOLOv8 Docs

复制这段代码

python">from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO('yolov8n.yaml')

# Load a pretrained YOLO model (recommended for training)
model = YOLO('yolov8n.pt')

# Train the model using the 'coco128.yaml' dataset for 3 epochs
results = model.train(data='coco128.yaml', epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model('https://ultralytics.com/images/bus.jpg')

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

2.在根目录新建一个自己的训练文件

3.将官方的代码复制进去

预测和导出的代码先注释掉,先演示一下训练和验证

4.修改参数,将里面的文件都换成自己的路径

epoch换成30

5.直接运行,发现报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 22-23: truncated \uXXXX escape

解决方法:将路径的右斜杠(\)换成左斜杠(/)

将之前hatDataDemo的右斜杠也换成左斜杠

然后运行mytrain.py


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

相关文章

联合办公空间适合的人群类型

联合办公空间适合以下几类群体租赁: 创业公司和初创企业:联合办公为创业公司和初创企业提供了一个低成本、低风险的办公场所,这些公司通常不需要承担长期租赁办公室的高成本和风险。自由职业者和个体工作者:联合办公提供了一个具…

【图像处理】模板匹配的学习笔记

OpenCV的模板匹配算法 cv.TM_CCOEFFcv.TM_CCOEFF_NORMEDcv.TM_CCORRcv.TM_CCORR_NORMEDcv.TM_SQDIFFcv.TM_SQDIFF_NORMED 匹配代码模板 image cv2.imread(r"scene.png", cv2.IMREAD_GRAYSCALE) template cv2.imread(r"element.png", cv2.IMREAD_GRAYSC…

计算机行业前景展望

计算机行业的前景展望是非常广阔的。随着技术的快速发展和应用领域的不断拓展,计算机行业将继续扮演着重要的角色。以下是一些计算机行业前景的关键方面: 人工智能(AI)和机器学习(ML):AI和ML技术…

STM32G0 定时器PWM DMA输出驱动WS2812配置 LL库

通过DMA方式输出PWM模拟LED数据信号 优点:不消耗CPU资源 缺点:占用内存较大 STM32CUBEMX配置 定时器配置 定时器通道:TIM3 CH2 分频:0 重装值:79,芯片主频64Mhz,因此PWM输出频率&#xff1a…

Opendds概念介绍

刚学习opendds,需要建立几个概念。 opendds是什么? 答:opendds是消息中间件。 opendds的作用是什么? 答:opendds是一款消息中间件,开发者利用opendds在不同节点之间进行数据通信或者交互时无需考虑通信…

九、适配器模式

一、什么是适配器模式 适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 适配器模式(Adapter)包含以下主要角色&…

Positive Technologies:五分之四的网络攻击具有针对性

Positive Technologies 对 2023 年第二季度的相关网络威胁进行了分析。报告显示,自今年年初以来,有针对性的攻击数量增加了 10%,目前占 78%。专家们注意到利用漏洞的大规模攻击和大量用户个人数据的泄露。此外,在此期间&#xff0…

在线问答和智能问答的区别在哪儿?如何搭建问答库?

在线问答和智能问答是两个不同的概念,虽然它们都是用来回答用户提出的问题,但在实现方式、功能和应用场景上有一些区别。 在线问答系统是一种基于互联网的问答服务,提供给用户一个平台,让他们可以提问问题并获取答案。在线问答系…