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

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.dtcms.com/a/353348.html

相关文章:

  • django注册app时两种方式比较
  • PyTorch图像预处理完全指南:从基础操作到GPU加速实战
  • jQuery版EasyUI的ComboBox(下拉列表框)问题
  • 通义万相音频驱动视频模型Wan2.2-S2V重磅开源
  • 聊一聊 单体分布式 和 微服务分布式
  • Package.xml的字段说明
  • 前端架构知识体系:css架构模式和代码规范
  • 趣味学习Rust基础篇(用Rust做一个猜数字游戏)
  • PAT 1087 All Roads Lead to Rome
  • 嵌入式学习资料分享
  • java中的数据类型
  • 《FastAPI零基础入门与进阶实战》第14篇:ORM之第一个案例改善-用户查询
  • 【图文介绍】PCIe 6.0 Retimer板来了!
  • 快速上手对接币安加密货币API
  • 《Linux 网络编程四:TCP 并发服务器:构建模式、原理及关键技术(以select )》
  • 3 无重复字符的最长子串
  • Windows系统之不使用第三方软件查看电脑详细配置信息
  • 基于linux系统的LIRC库学习笔记
  • Ubuntu 的磁盘管理
  • [java] 控制三个线程按顺序交替输出数字1、2、3
  • 【新版发布】Apache DolphinScheduler 3.3.1 正式上线:更稳、更快、更安全!
  • TensorFlow 面试题及详细答案 120道(21-30)-- 模型构建与神经网络
  • 数据结构:创建堆(或者叫“堆化”,Heapify)
  • 增强CD47检查点免疫治疗:高通量发现增强巨噬细胞吞噬作用的小分子协同剂
  • nestjs 连接redis
  • HIVE的Window functions窗口函数【一】
  • 手写题(面试)
  • LeetCode算法日记 - Day 24: 颜色分类、排序数组
  • LeetCode - 155. 最小栈
  • Python Imaging Library (PIL) 全面指南:PIL基础入门-跨平台安装与环境配置