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

python使用yolo训练模型

前提有已经标框好的数据集

from ultralytics import YOLO# # 加载预训练的 YOLO 模型
model = YOLO('yolo11n.pt')# 训练模型
results = model.train(data='data.yaml',  # 数据集配置文件路径epochs=10,  # 训练轮数imgsz=640,  # 输入图像尺寸batch=16,  # 批量大小optimizer='Adam',  # 优化器 SGD 最终精度更高,但 Adam 训练速度更快lr0=0.001  # 初始学习率
)

利用xml转换为txt生成的data.yaml进行训练模型

模型训练好之后,验证模型性能

from ultralytics import YOLOmodel = YOLO('runs/detect/train/weights/best.pt')  # 加载训练好的最佳模型
metrics = model.val()  # 在验证集上评估
print(f"mAP50-95: {metrics.box.map}")  # 正常值应 > 0.5

如果报错的话,可以用这个 

import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'  # 添加在导入其他库之前from ultralytics import YOLOmodel = YOLO('runs/detect/train/weights/best.pt')
metrics = model.val()
print(f"mAP50-95: {metrics.box.map}")

训练完成后,可以用训练集图片验证,如果模型在训练集图片上也检测不到目标,说明训练失败。

from ultralytics import YOLO
import cv2# 加载模型(确认路径正确)
model = YOLO('best.pt')# 调整阈值进行推理
results = model.predict('test.jpg', conf=0.3, imgsz=640)# 处理结果
for r in results:# 保存图像到文件检查标框im_array = r.plot(line_width=2, labels=True)cv2.imwrite('output.jpg', im_array)# 显示检测结果cv2.imshow('Detection', im_array)cv2.waitKey(0)cv2.destroyAllWindows()# 打印检测信息if len(r.boxes) == 0:print("未检测到目标!")else:print(f"检测到 {len(r.boxes)} 个目标!")

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

相关文章:

  • 【YOLOs-CPP-图像分类部署】01-构建项目
  • Python异步编程详解
  • Hive drop column 的解决方法
  • 第二届帕鲁杯时空交织的密语
  • AUTOSAR图解==>AUTOSAR_SRS_SecureOnboardCommunication
  • 大模型的开发应用(三):基于LlaMAFactory的LoRA微调(上)
  • VMware三种网络配置对比
  • Cow Ski Area G---二维图转一维+tarjan缩点
  • 嵌入式学习笔记 D24 :系统编程之i/o操作
  • 解决 Incorrect username or password (access token)
  • 数据库错误解决指南:从诊断到修复的全流程攻略
  • 04 接口自动化-框架封装思想建立之httprunner框架(上)
  • Fiddler 指定链接断点
  • nettrace工具介绍
  • GraphPad Prism工作表的管理
  • Baumer工业相机堡盟工业相机的工业视觉如何对高反光圆柱体生产日期进行识别检测
  • 8.MySQL故障排查与生产环境优化
  • 铸铁平台:承载千斤重担的工业基石
  • 视觉语言模型之困:当否定词成为理解的“盲区”
  • 挖o心得(2)
  • TYUT-企业级开发教程-第6章
  • CUMT-教务系统登录功能实现
  • labelme的安装与使用(以关键点检测为例)、labelme格式标签转换
  • 基础知识与协议
  • 迁移学习:让AI像人类一样举一反三的智慧引擎
  • CNN、RNN、Transformer对于长距离依赖的捕捉能力分析
  • Node.js AI 通义灵码 VSCode 插件安装与功能详解
  • 【Linux】48.高级IO(2)
  • Leetcode 01 java
  • 已解决:Git冲突完全解决指南(附最佳实践)