YOLOV8 | 最先进的 YOLO 模型训练自己的数据集(持续更新中)

news2025/1/21 0:50:44

本文实现了俩种环境的设置,一种是windows的CPU版本,还有服务器上的GPU版本。CPU版本仅用来实现检测,而GPU版本用来训练自己的数据集!(选择其中一个环境运行后,训练自己的数据集)

1.环境1:windows11, anaconda虚拟环境(python3.9),pycharm

ultralytics/ultralytics: YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite (github.com)

下载文件到本地后解压缩

pip install -r requirements.txt

根据自己的路径位置,下载所需要的包

(或者pip install ultralytics都一样)

配置环境后,检测

yolo task=detect mode=predict model=yolov8n.pt source="https://ultralytics.com/images/bus.jpg"

测试自己的照片

1.环境2:Ubuntu (docker)版本运行

git clone https://github.com/ultralytics/ultralytics
  • 克隆项目

  • ls:查询当前文件夹

  • cd ultralytics:打开ultralytics文件夹

配置需要的运行库

pip install ultraklytics
pip install -r requirements.txt

结果

2.训练自己的数据集

2.1.数据格式

把Ubuntu服务器上的数据集复制到docker容器内(在服务器上操作,并非容器内)

docker cp data_sample torch_na:/workspace/ultralytics

复制后容器内可查看数据集

我的情况是韩语不显示,所以重新设置语言,相似的可参考【PS2】

原数据集json文件格式

[
  {
    "Code Name": "A220148XX_04547.jpg",
    "Name": "baeghyang-gwa",
    "W": "0.377474",
    "H": "0.511151",
    "File Format": "jpg",
    "Cat 1": "22",
    "Cat 2": "01",
    "Cat 3": "48",
    "Cat 4": "xx",
    "Annotation Type": "binding",
    "Point(x,y)": "0.313830,0.609444",
    "Label": "0",
    "Serving Size": "xx",
    "Camera Angle": "xx",
    "Cardinal Angle": "xx",
    "Color of Container": "xx",
    "Material of Container": "xx",
    "Illuminance": "xx"
  }
]

food_classes.json

{
    "백향과": 1,
    "베이글샌드위치": 2,
    "보쌈": 3,
    "복숭아": 4,
    "볶음면": 5,
    "볶음밥": 6,
    "부침개": 7,
    "비빔밥": 8,
    "빵": 9,
    "사과파이": 10,
}
~

数据处理中(更新中)。。。

问题与解决(PS)

【PS1】yolo运行时出错:ImportError: libGL.so.1: cannot open shared object file: No such file or directory

错误分析

Ubuntu18.04基础设置的docker pytorch深度学习镜像中,出现以上的错误。

这是docker镜像生成时使用apt-get时的libgl1-mesa-glx库问题

解决办法

apt-get update
apt-get -y install libgl1-mesa-glx

效果

Ubuntu系统再次运行后出现

ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

解决办法

apt-get update
apt-get install libglib2.0-dev

效果如图

然后就可以啦~

【PS2】

更改 Ubuntu 上的 Locale

先安装韩文包

apt-get install language-pack-ko

通过locale-gen 安装 Locale

locale-gen ko_KR.UTF-8

更新系统 LANG 设置。update-locale

update-locale LANG=ko_KR.UTF-8 LC_MESSAGES=POSIX

/etc/default/locale修改文件

LANG=ko_KR.UTF-8
LC_MESSAGES=POSIX

按下快捷键Esc,输入:wq后保存退出。如果还是不行,需要修改环境变量【1】

参考文献

【1】로케일(Locale)이란? 국가 및 언어 설정 | 44BITS

【2】 详细!正确!COCO数据集(.json)训练格式转换成YOLO格式(.txt)_qq_42012888的博客-CSDN博客_coco数据集的json文件

[3]Roboflow: Give your software the power to see objects in images and video

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

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

相关文章

C#,图像二值化(22)——局部阈值的伯恩森算法(Bernsen Thresholding)及源程序

1、局部阈值的伯恩森算法(Bernsen Thresholding)Bernsen方法是为图像分割开发的局部自适应二值化方法之一。在这项研究中,实现了Bernsen的局部自适应二值化方法,并对不同灰度图像进行了测试。Bernsen’s method is one of locally…

04_FreeRTOS任务挂起和恢复函数

目录 任务的挂起与恢复的API函数 任务挂起函数介绍 任务恢复函数介绍 中断中恢复函数 vTaskSuspend()任务挂起函数 vTaskResume()任务中恢复函数 xTaskResumeFromISR()中断中恢复函数 任务的挂起与恢复的API函数 挂起:挂起任务类似暂停,可恢复;删除任务,无法恢复,类似“…

公务员行测常识积累(持续更新中)

公务员行测常识积累政治天文地理人文戏曲历史经济物理生物医学政治 区域协调发展战略:以城市群为主体构建大中小城市和小城镇协调发展的城镇格局;以疏解北京非首都功能为“牛鼻子”推动京津冀协同发展;以共抓大保护、不搞大开发为导向推动长…

个人建议【建议】

以下只是个人的一些看法 本文已在CSDN博客中发布文章 本文已在CSDN建议社区中发布帖子 重点内容已经被蓝色字体标志出来了,希望能对建设优秀的CSDN有所启发 快速浏览看总结 中心思想看最后 1.我的专栏上限问题还没解决 在2022-10-24 20:33:41就发出了这个问题&…

如何突破以往模式的束缚,如何让互联网行业重新开启新的想象空间

在流量和资本的红利已然被出清的大背景下,以平台经济为代表的互联网经济的发展同样被逼退到了进退维谷的境地里。如何突破以往发展模式的束缚,如何让互联网行业的发展重新开启新的想象空间,成为每一个互联网玩家必然需要思考的重要课题。于是…

Java基础学习笔记(十五)—— Sream流

Sream流1 Stream流初体验2 Stream流概述3 生成Stream流4 中间操作方法5 终结操作方法6 收集操作方法7 Stream流案例1 Stream流初体验 案例需求 创建一个集合,存储多个字符串元素把集合中所有以“张”开头的元素存储到一个新的集合把"张"开头的集合中的长…

SpringCloud高级应用-2(Gateway-01)

Gateway介绍: Spring Cloud Gateway 是Spring Cloud团队的一个全新项目,基于Spring 5.0、SpringBoot2.0、Project Reactor 等技术开发的网关。旨在为微服务架构提供一种简单有效统一的API路由管理方式。 Spring Cloud Gateway 作为SpringCloud生态系统…

Acwing---1214.波动数列

波动数列1.题目2.基本思想3.代码实现1.题目 观察这个数列: 1 3 0 2 -1 1 -2 … 这个数列中后一项总是比前一项增加2或者减少3,且每一项都为整数。 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加 a 或者减少 …

Grafana配置sqlserver,展示数据

Grafana配置sqlserver,展示数据1. 连接数据源2. Visualization2.1 时间表达式2.2 Graph2.2.1 Example with metric column2.2.2 convert null values to be zero instead2.2.3 Using multiple columns3. AwakeningGrafana Document: https://grafana.com/docs/grafa…

java MultipartFile+vue+element 批量上传文件、图片,与普通数据同时提交保存才上传到后端

一.背景 文件上传项目可参考:点击预览 1.最简单也是最普遍的做法是form表单提交,其实前端提交到后端也是难以离开form表单提交, 一般有两种方式来处理文件、图片上传: 先上传,获取返回路径,再整个表单提…

PyTorch实现基本的线性回归

线性回归理论知识参考文章:线性回归 下面我们将从零开始实现整个线性回归方法, 包括数据集生成、模型、损失函数和小批量随机梯度下降优化器。 1.导入 %matplotlib inline import random import torch from d2l import torch as d2l2.生成数据集 我们…

js垃圾回收(引用计数算法、标记清除算法、v8垃圾回收机制、浏览器性能监控、任务管理器、内存分析、JSBench)

目录 垃圾 可达对象 GC算法(垃圾回收机制) 引用计数算法 优点 缺点 标记清除算法 优点 缺点 标记整理算法 优点 缺点 V8 V8垃圾回收 新生代对象回收 晋升条件 老生代对象回收 性能监控Performance 浏览器任务管理器 内存分析 ​编…

Apache Doris 系列: 基础篇-BitMap索引

1. 测试数据准备 本文使用SSB(Star-Schema-Benchmark)的测试数据,读者也可以自行准备测试数据 1.1 编译ssb-dbgen 数据生成工具 ## 拉取Apache Doris源代码 git clone https://github.com/apache/doris.git## 编译ssb-dbgen cd doris/tool…

计算机网络复习之应用层

统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。它最初是由蒂姆伯纳斯李发明用来作为万维网的地址。现在它已经被万维网联盟编制为互联网标准RFC1738。邮局协议(Post Office Protoco…

TDemo 备注文本的二种存贮方式

TDemo 备注纯文本的二种存贮方式 数据库使用过程中,对于TDeme控件,对应数据库的分为nvarchar(n)类型字段。 一、通常使用二种格式的文本: (1)单纯文本 (2)带换行符的文本 这二种格式&#xff0c…

Pdf 转换成Word如何在线转换?职场公认好用软件推荐

Pdf 转换成Word如何在线转换?生活中很多时候我们需要接触大量的办公文件,特别是利用office的三种常见的文件格式编辑各类文件,最常见的便是Word文件操作。为了更方便我们进行文件传输,大部分情况下我们会把格式排版完好的Word文档…

UDS诊断系列介绍08-19服务

本文框架1. 系列介绍1.1 19服务概述1.2 DTC故障码定义1.3 DTC状态位2. 19服务常用子服务2.1 19 01服务2.2 19 02服务2.3 19 04服务2.4 19 06服务2.5 19 0A服务2.6 否定响应3. Autosar系列文章快速链接1. 系列介绍 UDS(Unified Diagnostic Services)协议…

Android 深入系统完全讲解(15)

4 权限相关的知识 1 安卓权限 上层 APK 权限获取方式,配置 AndroidManifest.xml,系统会对应的给 gid,在创建进程的时候就带下去,这样子就可以访问对应的设备。 而系统相关的,会限制必须是 uidsystem 这类&#xff0c…

一年融资三轮,一文读懂亿格云这家公司

数字办公时代,网络安全是企业经营的底线工作。如何构建一个安全、稳定、高效的网络安全体系,是企业谋求发展的基础条件之一。近年,倡导“永不信任,始终验证”的零信任网络安全服务理念开始兴起。而国内致力于基于零信任理念构建办…

MySQL 行级锁(行锁、临键锁、间隙锁)

行级锁 行级锁,每次操作锁住对应的行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。应用在InnoDB存储引擎中。 InnoDB的数据是基于索引组织的,行锁是通过对索引上的索引项加锁来实现的,而不是对记录加的锁。 1…