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

IEEE 流程

1. 创建环境

下载myenv_cv.yml

注意后缀名大小写,在anoconda prompt里面

conda env create -f "D:\Research\Conference\IEEE\2025\myenv_cv.yml"

遇到问题,pip failed

解决方法,先conda activate myevn这个环境

再在这个环境里面装剩下的pytorch

pip install torch==2.7.0+cu126 torchvision==0.22.0+cu126 torchaudio==2.7.0+cu126 --extra-index-url https://download.pytorch.org/whl/cu126

2.Label

软件下载

Release Binary v1.8.1 · HumanSignal/labelImg · GitHub

下载以后载入foler,要标注什么,记得每张图片都保存

3.训练

yolo-v8,用config.yaml

首先把XML格式的标注改成txt

import os
import xml.etree.ElementTree as ETxml_folder = 'C:/Users/extracted_frames/labels/train'        #放XML的文件夹
img_folder = 'C:/Users/extracted_frames/images/train'           #放图片的文件夹
output_folder = 'C:/Users/extracted_frames/labels/train'        #输出txt的文件夹
class_map = {'huanghaer': 0}          # 这里要记得对应你在LabelImg中标注的label名字 否则无效os.makedirs(output_folder, exist_ok=True)for xml_file in os.listdir(xml_folder):if not xml_file.endswith('.xml'):continuexml_path = os.path.join(xml_folder, xml_file)tree = ET.parse(xml_path)root = tree.getroot()img_width = int(root.find('size/width').text)img_height = int(root.find('size/height').text)txt_lines = []for obj in root.findall('object'):class_name = obj.find('name').textif class_name not in class_map:continueclass_id = class_map[class_name]bbox = obj.find('bndbox')xmin = int(bbox.find('xmin').text)ymin = int(bbox.find('ymin').text)xmax = int(bbox.find('xmax').text)ymax = int(bbox.find('ymax').text)x_center = ((xmin + xmax) / 2) / img_widthy_center = ((ymin + ymax) / 2) / img_heightbox_width = (xmax - xmin) / img_widthbox_height = (ymax - ymin) / img_heighttxt_lines.append(f"{class_id} {x_center:.6f} {y_center:.6f} {box_width:.6f} {box_height:.6f}")txt_filename = os.path.splitext(xml_file)[0] + ".txt"with open(os.path.join(output_folder, txt_filename), "w") as f:f.write("\n".join(txt_lines))

第一次没有成功,txt都是空的,因为我的class_map = {'huanghaer': 0} 要改成

class_map = {'yellow_flower': 0} 和label给出的名字一样

再次在conda的myenv中运行

yolo task=detect mode=train model=yolov8n.pt data=config.yaml epochs=50 imgsz=640 batch=1 verbose=False device=0 val=False

报错,删掉device=0

重新分布文件夹,必需是

D:\Research\Conference\IEEE\2025\frames

 - train -label

yolo task=detect mode=train model=yolov8n.pt data="D:\Research\Conference\config.yaml" epochs=50 imgsz=640 batch=1 val=False

之前找不到yaml的路径,这里直接给

4. 结果

model=yolov8n.pt
Overriding model.yaml nc=80 with nc=1
 

  • 你用的是 YOLOv8 的最小模型:yolov8n.pt(Nano)

  • YOLO 默认是 COCO 80 类,这里它自动根据你 config.yaml 文件中的设置 将类别数量改为 1

Model summary: 225 layers, 3,011,043 parameters
Transferred 319/355 items from pretrained weights

  • 网络一共 225 层,约 300 万参数

  • 成功从预训练模型中加载了大部分权重(319/355 个)

train: Scanning D:\...\train\labels... 27 images, 0 backgrounds, 0 corrupt
val: Scanning D:\...\train\labels.cache... 27 images, 0 backgrounds, 0 corrupt

  • 找到 27 张训练图像

  • 没有背景图,也没有损坏图像

TensorBoard: Start with 'tensorboard --logdir runs\detect\train4'

你可以启动 TensorBoard 查看训练曲线

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

相关文章:

  • OSS对象存储如何避免被攻击恶意刷流量?
  • QT中延时的用法及定时器的用法
  • 异地容灾、热备与冷备:核心概念解析、技术对比及行业解决方案指南
  • 在Android APK中使用WebView加载Vue项目并实现文件导出
  • 电网绝缘子及破损、闪络缺陷YOLO数据集
  • 【工具变量】地级市创新重视程度数据及城市创新重视程度数据(2003-2025年)
  • 旅游信息检索
  • 每日算法-250523
  • 1.2.1+1.2.2计算机硬件的基本组成
  • 通信专业速成solidworks学习记录
  • 有限时间 vs 固定时间 vs 预定时间滑模:稳定性分析与仿真验证方法对比(上)
  • 本地分支git push 报错 fatal: The current branch XXXX has no upstream branch.
  • 负号和连接号的区别?
  • 【C++】20. AVL树的实现
  • Python+requests实现接口自动化测试
  • 机器学习 Day1
  • 【python】局域网内通过python远程重启另一台windows电脑
  • Ntfs!ReadIndexBuffer函数调用Ntfs!NtfsMapStream函数的参数FileOffset为什么是0
  • PPP 流程已经走到启动阶段并且成功进入了 “STAGE_START_PPP
  • Linux PXE批量装机+无人值守技术(自动化装机)
  • [特殊字符] GUNION SDK 接口调用方式说明(静态库 vs 动态库)
  • 树莓派的刷机和登录
  • 常见证书格式区别
  • 矩阵详解:线性代数在AI大模型中的核心支柱
  • win11 24H2 版本,运行.vbs错误:没有文件扩展“.vbs“的脚本引擎
  • 夺命充电何时休?电瓶车入室起火事件频发
  • Linux C/C++编程 —— 线程技术总结
  • 家政维修平台实战09:推送数据到多维表格
  • 得力DE-620K针式打印机打印速度不能调节维修一例
  • AI Engine Kernel and Graph Programming--知识分享6