YOLOv8快速复现 训练 SCB-Dataset3-S 官网版本 ultralytics

2023-09-21 21:15:10

0 相关资料

YOLOV8环境安装教程.:https://www.bilibili.com/video/BV1dG4y1c7dH/

YOLOV8保姆级教学视频:https://www.bilibili.com/video/BV1qd4y1L7aX/

b站视频:[https://www.bilibili.com/video/BV12p4y1c7UY/]

PyTorch / 2.0.0 / 3.8(ubuntu20.04) / 11.8
在这里插入图片描述

SCB-Dataset3-S 数据

这里使用YOLOv8 训练自定义数据集(SCB-Dataset3)
备注:关于SCB-Dataset3我会公开在github中:
https://github.com/Whiffe/SCB-dataset

在平台中上传数据,通过阿里云盘的方式上传
在这里插入图片描述

unzip 5k_HRW_yolo_Dataset.zip
unzip 0.355k_university_yolo_Dataset.zip
unzip 0.71k_university_yolo_Dataset.zip 

在这里插入图片描述

训练yaml文件

将下面的文件放到:ultralytics/ultralytics/datasets/

5k_HRW_yolo_Dataset.yaml

train: /root/autodl-tmp/5k_HRW_yolo_Dataset/images/train
val: /root/autodl-tmp/5k_HRW_yolo_Dataset/images/val

# number of classes
nc: 3

# class names
names: [ 'hand-raising','reading','writing']

YOLOv8 训练SCB-Dataset3-S

model=yolov8x.yaml

yolo task=detect mode=train model=yolov8n.pt  data="./ultralytics/datasets/5k_HRW_yolo_Dataset.yaml" batch=8

相关参数

下面内容来自:YOLOV8最强操作教程.
https://blog.csdn.net/qq_37706472/article/details/128679699

model
pt模型路径或者yaml模型配置文件路径。这次的v8稍有不同,这个model参数可以是pt也可以是yaml。
pt
相当于使用预训练权重进行训练,比如选择为yolov8n.pt,就是训练一个yolov8n模型,并且训练前导入这个pt的权重。
yaml
相当于直接初始化一个模型进行训练,比如选择为yolov8n.yaml,就是训练一个yolov8n模型,权重是随机初始化。
data
数据配置文件的路径,也就是第三点中的data.yaml。
epochs
训练次数。
patience
在精度持续一定epochs没有提升时,过早停止训练。也就是早停机制。
batch
batch size大小。
imgsz
输入图像大小。
save
是否保存模型。
cache
是否采用ram进行数据载入,设置True会加快训练速度,但是这个参数非常吃内存,一般服务器才会设置。
device
所选择的设备训练。
workers
载入数据的线程数。windows一般为4,服务器可以大点,windows上这个参数可能会导致线程报错,发现有关线程报错,可以尝试减少这个参数,这个参数默认为8,大部分都是需要减少的。
project
project name.一个保存文件夹的名字,一般不用改动。
name
训练保存的文件夹名字。
exist_ok
是否覆盖现有的保存文件夹。
pretrained
是否使用预训练模型,这个参数我并没有使用,因为在model参数中我直接设置pt模型路径。
optimizer
优化器选择。直接SGD、Adam、AdamW、RMSProp。
verbose
是否打印详细输出。
seed
随机种子。
deterministic
设置为True,保证实验的可复现性。
single_cls
如果你的数据集是多类别,这个参数设置为True的话,其会当做一个类别来进行训练,相当于只负责识别目标,不负责识别类别。
image_weights
使用加权图像选择进行训练。
rect
是否采用矩形训练。这个参数不好解释,想了解的同学可以自行百度。
cos_lr
是否采用cor lr调度器。
close_mosaic
默认值为10,意思就是在最后10个epochs关闭马赛克数据增强,其思想来源于YOLOX。
resume
是否继续上一次没完成的训练。

更多推荐

基于TCP的Qt网络通信

目录前言实现原理1.模块添加2.常用接口函数API3.QTcpServer3.1公共成员函数3.1.1构造函数3.1.2给监听的套接字设置监听3.1.3返回监听成功的套接字对象3.2信号4.QTcpSocket4.1公共成员函数4.1.1构造函数4.1.2连接服务器,需要指定服务器端绑定的IP和端口信息4.1.3接收数

CSP-J 2023 入门级 第一轮 阅读程序(1)

【题目】CSP-J2023入门级第一轮阅读程序(1)#include<iostream>#include<cmath>usingnamespacestd;doublef(doublea,doubleb,doublec){doubles=(a+b+c)/2;returnsqrt(s*(s-a)*(s-b)*(s-c));

七天学会C语言-第六天(指针)

1.指针变量与普通变量指针变量与普通变量是C语言中的两种不同类型的变量,它们有一些重要的区别和联系。普通变量是一种存储数据的容器,可以直接存储和访问数据的值。:intnum=10;//定义一个整数型普通变量num,赋值为10在例子中,变量num是一个普通整数变量,它直接存储了值10。指针变量是一种特殊类型的变量,它存储

面试经典刷题)挑战一周刷完150道-Python版本-第2天(22个题)

一、轮转数组给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。这用于旋转一个整数列表nums中的元素。k%=len(nums):这一行的目的是确保k的值在合理的范围内,因为如果k大于列表的长度len(nums),旋转是循环的,所以我们取余数来确保k在合适的范围内,以避免不必要的重复旋转。比如,如

【Java 基础篇】Java网络编程实时数据流处理

在现代计算机应用程序中,处理实时数据流是一项关键任务。这种数据流可以是来自传感器、网络、文件或其他源头的数据,需要即时处理并做出相应的决策。Java提供了强大的网络编程工具和库,可以用于处理实时数据流。本文将详细介绍如何使用Java进行实时数据流处理。什么是实时数据流?实时数据流是一连串持续不断到达的数据,需要及时处理

【UE 粒子练习】08——LOD概述

目录概念应用举例一、检查当前粒子系统中是否设置了LOD二、添加LOD三、LOD设置(单个粒子发射器)四、LOD设置(多个粒子发射器)概念在UnrealEngine中,LOD(LevelofDetail,细节层次)是一种优化技术,用于在不同距离或屏幕空间尺寸下使用不同的模型或网格,以提高性能并减少资源消耗。LOD技术的主

低功耗蓝牙物联网:未来连接的无限可能

物联网是连接各种设备和传感器的网络,其目的是实现信息的交换和共享,提高效率并优化生活。在这个领域,低功耗蓝牙(BLE)正在发挥着越来越重要的作用。低功耗蓝牙是一种无线通信技术,它的主要特点是低功耗和长寿命。在保证纽扣电池长时间使用的同时,BLE的广播模式功耗可以做到1mA以下,进入低功耗模式后甚至可以达到200ua以下

第一个 Go 程序“hello,world“ 与 main 函数

第一个Go程序"hello,world"与main函数文章目录第一个Go程序"hello,world"与main函数一.创建“hello,world”示例程序二.“hello,world”程序结构拆解三、main函数四、Go语言中程序是怎么编译的?一.创建“hello,world”示例程序创建一个叫做main的go文件

Haproxy负载均衡集群 超详细 (附部署实例)

Haproxy一、Web集群调度器1.1常用的Web集群调度器1.2常用集群调度器的优缺点(LVS,Nginx,Haproxy)1.2.1Nginx1.2.2LVS1.2.3Haproxy1.3LVS、Nginx、Haproxy的区别二、Haproxy2.1简介2.2Haproxy的主要特性2.3Haproxy应用分析

总结 HTTP 协议的基本格式和 fiddler 的用法

HTTP基本格式HTTP协议也是日常开发中非常常用的的一种协议,在众多协议栈里HTTP可能是实际开发中用的最多的。注意这里说的HTTP是指HTTP1以及HTTP2,他们都是基于TCP协议的,注意:如今最新版的HTTP3是基于UDP的。但如今在互联网中使用的最多的仍然是HTTP1.1的版本。在整个协议栈中,上层和下层之间

【VUE异常】el-popconfirm失效,@confirm事件不生效,点击没有任何反应,刷新页面才能点击

el-popconfirm失效,@confirm事件不生效,点击没有任何反应,刷新页面才能点击一、背景描述二、原因分析三、解决方案3.1方案一:使用@onConfirm3.2方案二:@confirm与@onConfirm同时使用3.3方案三:el-popconfirm标签外包裹一层标签一、背景描述项目中遇到一个奇怪的问

热文推荐