当前位置: 首页 > backend >正文

opencv+yolov8n图像模型训练和推断完整代码

#加载与训练模型
#安装三方库:ultralytics
#导包:from ultralytics import YOLO

from numpy.__config__ import show
from ultralytics import YOLO
#1.'加载模型
#2.检测目标
#加载预训练模型
#官方提供的基础测试和训练模型
#首次运行自动下载。
a1 = YOLO('yolov8n.pt')
#2.检测目标
#show=True 显示检测结果
#save=True,保存检测结果
a1('2.jpg',show = True,save = True)

#检测网络图片

from ultralytics import YOLO

a1 = YOLO('yolov8n.pt')

a1('mv.jpg',show = True,save = True)

#准备数据集结构文件


#跟目标创建1个文件夹(可自定义名称)
#下面创建再2个文件夹(images和labels)
#images和labels 下再分别创建2个文件夹(train和val)
#images下的train和val 芳入训练图片(png,jpg)
#labels下的train和val 放入图片标注(txt)

数据训练和标注

#准备数据集配置文件

#创建1个yaml格式的文件(可自定义名称)
#配置数据集信息、用于训练模型

path: C:\Users\HR0432\source\repos\robot\robot\xun #数据集根目录
train: images/train #训练集图片路径
val: images/val #验证集图片路径
nc: 3 #类别数量
names: ['正常','发黑','爆点'] #类别名称

#开始模型训练
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

from ultralytics import YOLO
import matplotlib
matplotlib.use('Agg')  # 寮哄埗浣跨敤闈炰氦浜掑紡鍚庣


#加载预训练模型
a1 = YOLO('yolov8n.pt')
#开始训练
a1.train(
data='data.yaml',  #数据集配置文件路径
epochs=300,   #训练轮次 官方推荐500
imgsz=640,   #输入图片尺寸 官方推荐640
batch=16,    #每次训练的批量 官方推荐16/32
device='cpu' , #GPU=0 CPU= 'cpu'
workers=4  # 数据加载线程数
)

print('**********************************')
print('**********************************')
print('**********************************')
print('**************SUCCESS*************')
print('**************SUCCESS*************')
print('**************SUCCESS*************')
print('**********************************')
print('**********************************')
print('**********************************')

#检测模型结果

from ultralytics import YOLO
#模型训练完毕自动保存到C:\Users\HR0432\source\repos\robot\robot\runs\detect\train2\weights
#best.pt是训练好的最优模型(适用于最终应用)
#last.pt是训练的最后一轮模型(适用于训练继续)


#加载自己训练好的模型
a1 = YOLO(r'C:\Users\HR0432\source\repos\robot\robot\runs\detect\train16\weights\best.pt')
#目标检测
a1('3.jpg',show = True,save = True)

http://www.xdnf.cn/news/18834.html

相关文章:

  • Clerk 用户认证系统集成文档
  • ollama离线部署+大语言模型
  • AI-调查研究-62-机器人 机械臂五大应用场景详解:从焊接到手术,从农田到太空
  • 4步用代码拆解数学建模中的TOPSIS评价决策! ! !
  • Apache Commons Lang 3
  • 野火STM32Modbus主机读取寄存器/线圈失败(二)-解决CRC校验错误
  • uC/OS-III 队列相关接口
  • 数据分析与数据挖掘
  • 企业如何构建全面的高防IP防护体系?
  • Teams Workflows 业务流程搭建与Linux自动化运维拓展应用全解析
  • 状态设计模式
  • 构建面向人工智能决策的世界模型引擎所需的基本知识体系
  • 如何在GitHub找到10k+个stars的仓库
  • podman启动mongdb的container因为权限问题导致changing ownership和读取storage.bson失败的解决方法
  • CMake构建学习笔记20-iconv库的构建
  • 算法概述篇
  • 游戏空间划分技术
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(20):文法+单词第7回2
  • 广告推荐模型1:逻辑回归(Logistic Regression,LR)
  • 如何拯救一家濒临破产的科技公司?
  • 技术总结:AArch64架构下Jenkins Agent(RPM容器编译节点)掉线问题分析与排查
  • KubeBlocks for Oracle 容器化之路
  • 【RAGFlow代码详解-30】构建系统和 CI/CD
  • 微服务-28.配置管理-共享配置
  • poi生成word固定表格列宽
  • TensorFlow 面试题及详细答案 120道(61-70)-- 高级特性与工具
  • css3背景线性渐变:linear-gradient
  • 【密集目标检测】停车场车辆(车位)识别数据集:12k+图像,yolo标注
  • 04 网络信息内容安全--入侵检测技术
  • 依托边缘计算方案,移动云全面化解算力、效率、安全平衡难题