极市开发平台yolov8训练无人机数据集样例数据流程

news2024/11/14 22:35:29

先进入vscode,进入src_repo文件夹。

第一步,克隆一个比较好的博主的库:

GitHub - Incalos/YOLO-Datasets-And-Training-Methods: This project involves making custom datasets for the YOLO series and model training methods for YOLO.

git clone https://github.com/Incalos/YOLO-Datasets-And-Training-Methods.git

 现在需要将目录整理成如下:

改动分别是:

0.修改下DataSets.py,改成我们需要的格式:

将第十五行改成自己的分类:

1.新建一个mytrain.py文件,用来把其他位置的数据克隆过来:

import os
import shutil

data_root = '/home/data/'
for dir_name in os.listdir(data_root):
    if dir_name.endswith('.jpg'):
            print('error!')
            continue
    for file_name in os.listdir(data_root+dir_name):
        if file_name.endswith('.jpg'):
                shutil.copy(data_root +dir_name + '/'+ file_name, '/project/train/src_repo/YOLO-Datasets-And-Training-Methods/yolov8/YoloDataSets/images/')
        elif file_name.endswith('.xml'):
            shutil.copy(data_root + dir_name + '/'+file_name,  '/project/train/src_repo/YOLO-Datasets-And-Training-Methods/yolov8/YoloDataSets/Annotations/')

2.新建一个my.py文件,用来执行自己的训练:

from ultralytics.yolo.utils import DEFAULT_CFG
from ultralytics import YOLO
from datetime import datetime
current_time = datetime.now()
time_str = current_time.strftime("%Y-%m-%d_%H-%M-%S") # 个人习惯, 用训练时间命名保存路径, 或者你自己自定义
DEFAULT_CFG.save_dir= f"/project/train/models/{time_str}"
model = YOLO('yolov8n.pt')
data = '/project/train/src_repo/YOLO-Datasets-And-Training-Methods/yolov8/YoloDataSets/data.yaml'
result = model.train(data = data, epochs = 100, batch = 32, save = True, device = 0)

3.新建文件夹YoloDataSets,在下面继续新建目录成如下格式:

其中两个文件夹是空的,而data.yaml需要填写自己的数据内容:

path : /project/train/src_repo/YOLO-Datasets-And-Training-Methods/yolov8/YoloDataSets
train: train.txt
val: val.txt
test: test.txt

# number of classes
nc: 4

# class names
names: ['car','bus','truck','others_vehicles',]

这样子,我们就可以训练了!

我们新建一个mytrain.sh文件:

cd /project/train/src_repo/YOLO-Datasets-And-Training-Methods/yolov8/
python mytrain.py
python DataSet.py --yoloversion yolov8 --trainval_percent 0.9 --train_percent 0.9 --mainpath  /project/train/src_repo/YOLO-Datasets-And-Training-Methods/yolov8/YoloDataSets/
python my.py

在命令行运行 

bash /project/train/src_repo/YOLO-Datasets-And-Training-Methods/yolov8/mytrain.sh

就可以了!

下面是()正常运行的画面:

正式训练,需要在平台上本地检测,

本地检测也是成功的!

说明我们的流程走对了!

这个过程中遇到的问题可能是有些库没安装,按照指示安装就是了;然后如果选用yolo其他版本,可以参考最上面博主的博客,支持大佬!

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

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

相关文章

在生产线打包机中RFID技术的赋能

在生产线打包机中RFID技术的赋能 随着制造业的智能化发展,RFID技术越来越多地被应用于生产线中,特别是在产线打包环节。本文将探讨RFID技术如何提高产线打包机的工作效率和准确性,并分析其在现代制造业中的重要作用。 RFID在产线打包机上的应…

顶刊速递|医学AI在乳腺癌中的最新研究进展·24-09-06

小罗碎碎念 本期推文主题:乳腺癌 最近我在思考一个问题,生信分析和人工智能的区别和联系是什么?细节现在是想不清楚的,因为我的知识储备还不够,但是有一点我可以确定,二者的部分本质都是一样的——强大的计…

使用程序方式获取与处理MySQL表数据

8.1  执行多条语句获取 MySQL 表数据 8.1.1  MySQL 中的常量 8.1.2  MySQL 中的变量 1.用户变量 用户可以在表达式中使用自己定义的变量,这样的变量称为用户变量。 用户变量在使用前必须定义和初始化,如果使用没有初始化的变量&#x…

EG边缘计算网关连接华为云物联网平台(MQTT协议)

需求概述 实现一个流程:EG8200mini采集Modbus RTU数据,通过MQTT协议连接华为云物联网平台 Modbus RTU采集此处不做过多赘述,可参考其他案例(串口读取Modbus传感器数据)介绍。下文默认已经采集到Modbus RTU数据。 要…

【B题成品论文已出】24数学建模国赛B题成品论文(附参考代码)免费分享

B题:生产过程中的决策问题 一、第一问 针对问题一,要求我们制定多种抽样方案,并利用区间估计的方法确定各个抽样方案的检测次数,在两种情形下确定抽样方法。这里可以选择的抽样方案有简单随机抽样(超几何分布中未知参…

详解 MQ 消息队列

谈起消息队列,内心还是会有些波澜。 消息队列,缓存,分库分表是高并发解决方案三剑客,而消息队列是我最喜欢,也是思考最多的技术。 我想按照下面的四个阶段分享我与消息队列的故事,同时也是对我技术成长经…

ICAS英格尔认证碳中和技术项目入选联合国工发组织第三届碳中和技术方案征集,打造农食系统碳足迹管理“智囊”

2024年8月27日,由联合国工业发展组织上海ITPO与上海交大-联合国工发绿色增长联合研究院联合主办的“虹口双碳对话第三届碳中和技术方案征集暨UNIDO Global Call 2024中国项目储备评估会”在上海环境能源交易所成功举办。 中国科学院地理科学与资源研究所陆地表层格…

【银河麒麟高级服务器操作系统实例】虚拟化平台系统服务中断现象分析及处理建议

服务器环境以及配置 【机型】虚机 处理器: Kunpeng-920 内存: 40G 【内核版本】 4.19.90-23.8.v2101.ky10.aarch64 【OS镜像版本】 银河麒麟操作系统 Kylin-Server-10-SP1-Release-Build20-20210518-arm64 【第三方软件】 智能运维系统、mysq…

Flume 日志采集系统

Flume 日志采集系统 一、Flume 概述二、Flume 架构设计2.1 架构图2.2 Flume Source 类型2.3 Flume Channel 类型2.4 Flume Sink 类型 三、Flume 安装部署3.1 下载解压3.2 上传解压3.3 修改配置文件2.4 启动 Flume Agent 四、案例实践:Flume 分布式集群搭建4.1 Flume…

使用 StatisticalOutlierRemoval 过滤器删除离群值

下载数据集 table_scene_lms400.pcd 并将其保存到磁盘的某个位置。 然后&#xff0c;创建一个文件&#xff0c;比如说&#xff0c;在你的收藏夹中 编辑器&#xff0c;并将以下内容放入其中&#xff1a;statistical_removal.cpp #include <iostream> #include <pcl/i…

安科瑞光伏三相电子式导轨电表ADL400N-CT双向计量防逆流自带互感器电表

概述 ADL系列导轨式多功能电能表&#xff0c;是主要针对于光伏并网系统、微逆系统、储能系统、交流耦合系统等新能源发电系统而设计的一款智能仪表&#xff0c;产品具有精度高、体积小、响应速度快、安装方便等优点。具有对电力参数进行采样计量和监测&#xff0c;逆变器或者能…

rancher搭建k8s及jenkins自动化部署

1、准备环境 角色IP用途k8s-rancher-master192.168.3.63master节点k8s-rancher-node01192.168.3.64node节点k8s-rancher-node02192.168.3.66node节点k8s-rancher-server192.168.2.33rancher-server节点注: 服务器名需要配置不同,相同服务器名不能加入node节点 在所有节点进行…

WebStorm用Debug模式调试Vue等前端项目

问题说明 开发前端时&#xff0c;一直很苦恼调试前端代码的麻烦。 简单的内容可以通过console.log()在控制台打印变量值&#xff0c;来验证预期结果。 涉及到稍复杂的逻辑&#xff0c;就需要在代码中侵入增加debugger&#xff0c;或者在浏览器中找到js文件&#xff0c;再手动添…

稀土废水回收硫酸铵树脂技术

稀土废水回收硫酸铵的过程主要涉及到化学沉淀法、离子交换法和蒸发结晶法等技术。这些方法可以有效地从稀土废水中回收硫酸铵&#xff0c;同时降低废水中的氨氮含量&#xff0c;实现资源的循环利用。以下是具体的技术介绍&#xff1a; 稀土废水回收硫酸铵的技术 ● 化学沉淀…

C++笔记18•数据结构:AVL树•

AVL树 简介&#xff1a; 当搜索二叉树退化为单支树时&#xff0c;搜索效率极低&#xff0c;为了使搜索效率高&#xff0c;建立平衡搜索二叉树就需要AVLTree这样的平衡树来解决。如果在一棵原本是平衡的AVL树中插入一个新节点&#xff0c;可能造成不平衡&#xff0c;此时必须调整…

领夹麦克风哪个好,领夹麦哪个牌子音质好,音质最好的麦克风推荐

在数字化内容创作的浪潮中&#xff0c;无线领夹麦克风以其便携高效的特点&#xff0c;成为了音频捕捉领域的热门选择。然而&#xff0c;每款产品都有其两面性&#xff0c;无线领夹麦克风在提供便利的同时&#xff0c;也潜藏着一些不容忽视的使用困扰。今天&#xff0c;我们就来…

【AI】张量的秩(阶)与矩阵的秩和阶的区别

在阅读MindSpore文档时&#xff0c;笔者对这段话不太理解&#xff0c;遂求助ChatGPT. 矩阵的秩是矩阵中线性无关的行或者列&#xff0c;矩阵的阶就是矩阵中的行数和列数。 而张量的秩和阶是一个概念&#xff0c;指的是张量的维度&#xff08;是1维的&#xff0c;二维的还是高维…

CRM软件的演进:从传统到连接型CRM

1、CRM定义与分类 1.1CRM的定义 CRM,英文Customer Relationship Management的缩写&#xff0c;中文全称为客户关系管理。通常情况下&#xff0c;人们通常用CRM直接表达客户关系管理软件系统——一个以客户为中心的专门用于管理与客户关系的软件工具&#xff0c;以确保与客户…

AI算力池化平台加速智能驾驶技术发展

1886年&#xff0c;世界上第一辆汽车诞生。在随后的一百多年时间里&#xff0c;汽车成为广泛用于社会经济生活多种领域的重要交通运输工具&#xff0c;极大地推动了人类社会经济的发展。进入新世纪&#xff0c;汽车的电动化、智能化日趋明显。 在汽车智能化方面&#xff0c;最…

YOLOv8改进 | 模块缝合 | C2f 融合RFAConv增强感受野空间特征 【完整代码 + 自研创新】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…