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

备案要关闭网站吗seo网络营销推广公司深圳

备案要关闭网站吗,seo网络营销推广公司深圳,在wordpress添加算法,wordpress官方主题论坛【2025全站首发】YOLOv12训练数据集构建#xff1a;标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测#xff01; 文章目录 1. 数据集准备1.1 标签格式转换1.2 数据集划分1.3 yaml配置文件创建 2. 训练验证 1. 数据集准备 示例数据集下载链接#xff1a;P… 【2025全站首发】YOLOv12训练数据集构建标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测 文章目录 1. 数据集准备1.1 标签格式转换1.2 数据集划分1.3 yaml配置文件创建 2. 训练验证 1. 数据集准备 示例数据集下载链接PKU-Market-PCB数据集 1.1 标签格式转换 cursor prompt 请撰写一个py脚本。将Annotations文件夹下的所有类别的xml格式的标注转换成为yolo格式。转换后的标签请新建一个labels文件夹保存在该文件夹下。生成的xml2yolo.py脚本内容如下 import os import xml.etree.ElementTree as ET import globdef convert_coordinates(size, box):将XML中的边界框坐标转换为YOLO格式dw 1.0/size[0]dh 1.0/size[1]# XML格式为 xmin, ymin, xmax, ymaxx (box[0] box[2])/2.0y (box[1] box[3])/2.0w box[2] - box[0]h box[3] - box[1]# 归一化x x*dww w*dwy y*dhh h*dhreturn (x,y,w,h)def convert_xml_to_yolo(xml_path, class_mapping):转换单个XML文件到YOLO格式tree ET.parse(xml_path)root tree.getroot()# 获取图像尺寸size root.find(size)width int(size.find(width).text)height int(size.find(height).text)# 创建对应的txt文件路径txt_path xml_path.replace(Annotations, Labels).replace(.xml, .txt)# 确保Labels目录存在os.makedirs(os.path.dirname(txt_path), exist_okTrue)with open(txt_path, w) as txt_file:# 处理每个目标for obj in root.iter(object):# 获取类别名称class_name obj.find(name).text# 获取类别IDif class_name not in class_mapping:continueclass_id class_mapping[class_name]# 获取边界框坐标xmlbox obj.find(bndbox)xmin float(xmlbox.find(xmin).text)ymin float(xmlbox.find(ymin).text)xmax float(xmlbox.find(xmax).text)ymax float(xmlbox.find(ymax).text)# 转换坐标bb convert_coordinates((width,height), (xmin,ymin,xmax,ymax))# 写入txt文件txt_file.write(f{class_id} {bb[0]:.6f} {bb[1]:.6f} {bb[2]:.6f} {bb[3]:.6f}\n)def main():# 定义类别映射class_mapping {missing_hole: 0,mouse_bite: 1,open_circuit: 2,short: 3,spur: 4,spurious_copper: 5}# 获取所有XML文件xml_files glob.glob(Annotations/*/*.xml)# 转换每个XML文件for xml_file in xml_files:try:convert_xml_to_yolo(xml_file, class_mapping)print(f成功转换: {xml_file})except Exception as e:print(f转换失败 {xml_file}: {str(e)})if __name__ __main__:main() 1.2 数据集划分 cursor prompt 请创建一个py脚本对数据进行划分。对于image文件夹下的每一个类别按照8:2进行随机划分。请直接生成包含所有图像绝对路径的train.txt和val.txt文件。并输出每个类别训练集验证集的数量。生成的split_dataset.py脚本内容如下 import os import glob import randomdef split_dataset(image_rootimages, train_ratio0.8, seed42):数据集划分函数:param image_root: 图片根目录路径:param train_ratio: 训练集比例:param seed: 随机种子# 设置随机种子保证可重复性random.seed(seed)# 初始化路径列表train_paths []val_paths []# 获取所有类别目录class_dirs [d for d in glob.glob(os.path.join(image_root, *)) if os.path.isdir(d)]# 初始化统计字典class_stats {}for class_dir in class_dirs:# 获取类别名称class_name os.path.basename(class_dir)# 获取当前类别所有图片路径image_paths glob.glob(os.path.join(class_dir, *.*))image_paths [p for p in image_paths if p.lower().endswith((.png, .jpg, .jpeg, .bmp))]# 打乱顺序random.shuffle(image_paths)# 计算分割点split_idx int(len(image_paths) * train_ratio)# 分割数据集train image_paths[:split_idx]val image_paths[split_idx:] if split_idx len(image_paths) else []# 转换为绝对路径并添加路径分隔符train_paths.extend([os.path.abspath(p) \n for p in train])val_paths.extend([os.path.abspath(p) \n for p in val])# 记录统计信息class_stats[class_name] {total: len(image_paths),train: len(train),val: len(val)}# 写入文件with open(train.txt, w) as f:f.writelines(train_paths)with open(val.txt, w) as f:f.writelines(val_paths)# 新增统计信息输出print(\n各类别数据分布)print({:15} {:10} {:10} {:10}.format(类别, 总数, 训练集, 验证集))for cls, stat in class_stats.items():print({:15} {:10} {:10} {:10}.format(cls, stat[total], stat[train], stat[val]))# 原有总样本数输出保持不变print(f\n数据集划分完成\n训练集样本数: {len(train_paths)}\n验证集样本数: {len(val_paths)})if __name__ __main__:# 使用示例根据实际情况修改路径split_dataset(image_rootimages) 1.3 yaml配置文件创建 pcb_detect.yaml具体内容如下 path: E:\project\YOLOv12\dataset\PCB_DATASET # dataset root dir train: train.txt # train images (relative to path) 118287 images val: val.txt # val images (relative to path) 5000 images test: # 20288 of 40670 images, submit to https://competitions.codalab.org/competitions/20794# Classes names:0: Missing_hole1: Mouse_bite2: Open_circuit3: Short4: Spur5: Spurious_copper2. 训练验证 train.py训练验证脚本内容如下 from ultralytics import YOLOmodel YOLO(yolov12n.yaml)# Train the model results model.train(datapcb_detect.yaml,epochs300, batch4, imgsz640,scale0.5, # S:0.9; M:0.9; L:0.9; X:0.9mosaic1.0,mixup0.0, # S:0.05; M:0.15; L:0.15; X:0.2copy_paste0.1, # S:0.15; M:0.4; L:0.5; X:0.6device0,workers0, )# Evaluate model performance on the validation set metrics model.val()遇到AttributeError: ‘InfiniteDataLoader‘ object has no attribute ‘ 报错查看解决方案~
http://www.w-s-a.com/news/764577/

相关文章:

  • 如何减少网站建设中的错误温州网站公司哪家好
  • 宜章网站建设北京定制公交网站
  • 怎么让谷歌收录我的网站郑州网站建设更好
  • 在线视频网站开发方案phpaspnet网站开发实例视频
  • 正常做一个网站多少钱网站开发所遵循
  • 西部数码网站备份领英创建公司主页
  • 中山网站建设文化平台成都电商app开发
  • 无锡网站推广公司排名中国十大网站建设
  • 网站建设报价怎么差别那么大深圳开发公司网站建设
  • 京东商城网站建设方案书建设网站平台
  • 如何查询网站建设时间赤峰建网站的电话
  • 域名购买网站有哪些公司企业邮箱管理制度
  • 阿里云服务起做网站抖音seo推荐算法
  • 免费建站工具机械网站建设公司推荐
  • 怎么用自己主机做网站_如何做简单的网站
  • 阿里巴巴国际站跨境电商平台为什么有点网站打不开
  • 甘肃做网站哪家好网站开发 都包含什么语言
  • 合肥哪里有做网站的广告型网站怎么做的
  • 用dede做的网站国外免费空间哪个好
  • dede个人网站模板企点
  • 韩雪个人网站wordpress 怎么添加网站备案信息
  • 个人网站可以做地方技能培训班
  • 品牌营销策略研究无锡 网站 seo 优化
  • 在线推广网站的方法有哪些织梦网站首页目录在哪
  • 做爰全过程免费网站的视频做网站的几个步骤
  • cpa建站教程青海西宁制作网站企业
  • 简易的在线数据库网站模板网站多服务器建设
  • 成都seo网站建设花店网页模板html
  • 义乌市网站制作网络营销策略名词解释
  • 高端品牌网站建设图片wordpress 资源站主题