PCB缺陷检测数据集处理:VOC转YOLO格式与YOLOv8训练实战
简介面向电子制造质检与深度学习开发者的印刷电路板缺陷检测数据集已按PASCAL VOC标准完成标注。压缩包内共有八百九十三个文件包含四百四十五张缺陷图片及一一对应的XML标注文件其中记录各缺陷的边界框与类别信息另有文本文件及Python脚本辅助数据处理整体大小约五百八十三点八九兆字节。已有两千六百七十六人学习下载适合基于YOLO、Faster R-CNN等模型进行训练和迁移学习。数据覆盖短路、开路、焊点不良、元件缺失、线路断裂等典型缺陷标注规范、目录清晰便于划分训练集与验证集也适合结合随机翻转、旋转、裁剪等数据增强方法提升模型泛化能力。训练后的模型可部署到产线检测系统辅助实时识别缺陷提升印刷电路板质量管控效率。1. 拿到“PCB板缺陷检测数据集-voc.rar”之后先弄明白三件事做 PCB 缺陷检测的人手里经常会有这样的一个压缩包名字里写着数据集后缀是 rar打开之后是一堆 JPEG 图片和 XML 标注。这个“PCB板缺陷检测数据集-voc.rar”就是典型的 VOC 格式目标检测数据包VOC 在这里不是电路板术语而是指 Pascal VOC 标注规范。它跟直接用 YOLO 训练时用的 txt 标注不同也跟 COCO 的 json 不同拿到手不能马上开训得先经过解压、盘点、格式转换、数据划分这几步才能真正喂给模型。这个包能解决的核心问题是你有 PCB 缺陷检测的落地需求但没有自己的标注数据想先用现成数据集把检测流程跑通。适合两类人——一类是想在 PCB 检测这个方向做技术验证的工程师另一类是想学习目标检测全流程、但手上缺真实工业场景数据的学生。接下来的内容就是按我自己处理这类数据集的实际顺序来讲怎么解压、怎么看清标注、怎么转格式、怎么调参以及那些不翻一次车根本记不住的坑。2. 解压与盘点用 7-Zip 解开 voc.rar 后先看清 Pascal VOC 目录结构2.1 为什么推荐用 7-Zip 而不是其他 rar 解压软件很多人拿到“PCB板缺陷检测数据集-voc.rar”第一反应是双击 WinRAR。常见做法是能解开但在工业数据集上有两个隐患一是部分数据集压缩时用的是 UTF-8 文件名Windows 下的老版本 WinRAR 解出来会变成乱码目录后面 Python 读取时路径对不上二是 WinRAR 对某些分卷或固实压缩的 rar 包处理比较笨解压中间报错就直接停掉。我一般会直接用 7-Zip。7-Zip 对 rar 格式支持得不错遇到乱码、分卷、固实压缩都能处理因为它本身是开源工具也不用担心联网弹广告。命令行解压方式如下7z x PCB板缺陷检测数据集-voc.rar -oD:/dataset/pcb_voc参数说明x表示解压并保留原始目录结构-o后面接输出路径注意-o和路径之间没有空格写错了会报错找不到参数。解压完成后先别急着看图片先看目录结构。解压后的路径里如果图片文件解出来是乱码比如显示成æ¼å”这类说明压缩包创建环境的编码和你当前系统不一致。这时候最快的补救办法是把整个数据集目录重新拷贝到一个纯英文路径下用 7-Zip 右键菜单里的“提取到指定文件夹”再解压一次通常能恢复。2.2 认识 VOC 格式的标准目录树VOC 格式的全称是 Pascal VOC最早是图像分类和目标检测比赛用的标注规范后来被大量工业数据集沿用。它的标准目录结构长这样pcb_voc/ ├── Annotations/ # XML 标注文件 ├── JPEGImages/ # 原始图片 └── ImageSets/ └── Main/ # train.txt / val.txt 等划分文件Annotations目录里每个 XML 文件名和JPEGImages里的每张图片一一对应。XML 里面存的是这张图里每个缺陷的位置和类别核心结构是object标签下的name和bndboxannotation filename0001.jpg/filename size width640/width height480/height depth3/depth /size object nameshort/name bndbox xmin120/xmin ymin200/ymin xmax240/xmax ymax300/ymax /bndbox /object /annotation这里要特别提醒新手size节点里的宽高不一定和图片真实尺寸一致。有的数据包在标注时按原图尺寸标有的按缩放后的尺寸标后面转 YOLO 格式时要以实际读取到的图片宽高为准而不是直接信 XML 里的 size否则框的位置会整体偏移。2.3 解压后的第一步盘点文件完整性和类别分布拿到解压后目录先用命令统计一下图片和标注文件数量是否一致。常见的做法是用tree或者 Python 脚本遍历。我习惯先用 bash 做快速盘点ls JPEGImages | wc -l ls Annotations | wc -l如果两个数字不一致说明包里有图片没有标注、或者有标注没图片这在工业数据集里很常见尤其是从产线采集后人工标注时经常漏掉一部分。数量对不上先别急着删把差集找出来comm -3 (ls JPEGImages | sed s/.jpg//) (ls Annotations | sed s/.xml//)这个命令比较两个目录里的文件名差集。sed把扩展名去掉comm -3显示只在一个列表里出现的文件。这时候你会清楚看到哪些文件是孤儿标注、哪些是孤儿图片。另外要用 Python 快速统计一下有哪些缺陷类别。这决定了后面训练时names怎么写。PCB 缺陷公开数据集的常见类别是 missing hole缺孔、mouse bite鼠咬、open circuit断路、short短路、spur毛刺、spurious copper残铜这六类但你手里这个包不一定按这个划分必须实际统计 XML 里的name字段import xml.etree.ElementTree as ET from glob import glob classes set() for xml_path in glob(Annotations/*.xml): root ET.parse(xml_path).getroot() for obj in root.iter(object): classes.add(obj.find(name).text) print(classes)这一步是后面所有工作的基础。类别名一旦统计错后面训练的模型再准也没有意义。常见的情况是同一类缺陷在不同 XML 里写法不统一比如short和Short、open_circuit和open circuit统计结果里会多出重复类转换脚本里要先做名称归一化。3. 把 VOC 标注转成 YOLO 格式转换脚本与四个边界参数3.1 为什么必须转格式VOC 的 XML 标注记录的是绝对像素坐标而 YOLO 系列训练时用的是归一化坐标每张图片对应一个 txt 文件每一行是“类别索引 中心点 x 中心点 y 框宽 框高”。不转格式硬训的话要么自己写个 Dataset 类去解析 XML要么用转换脚本统一成 txt。我一般建议转成 YOLO 格式因为后续换模型、做数据增强、看 badcase 都方便Ultralytics YOLO、YOLOv5、YOLOX 都能直接吃。常见做法是按下面这个脚本转它考虑了几个工业数据集的边界情况。3.2 转换脚本带边界裁剪和空框过滤import xml.etree.ElementTree as ET import os from glob import glob # 类别顺序表必须和后续训练时的 names 顺序完全一致 classes [missing_hole, mouse_bite, open_circuit, short, spur, spurious_copper] def voc2yolo_one(xml_path, out_dir): tree ET.parse(xml_path) root tree.getroot() img_name os.path.splitext(os.path.basename(xml_path))[0] .jpg img_path os.path.join(JPEGImages, img_name) # 以实际图片尺寸为准不读 xml 里的 size import cv2 h, w cv2.imread(img_path).shape[:2] lines [] for obj in root.iter(object): name obj.find(name).text.strip() # 名称归一化把所有 notdefect/background 之类的都跳过 if name.lower() in [background, notdefect, none, 0]: continue if name not in classes: print(f未知类别 {name} 出现在 {xml_path}跳过) continue cls classes.index(name) xmin float(obj.find(bndbox/xmin).text) ymin float(obj.find(bndbox/ymin).text) xmax float(obj.find(bndbox/xmax).text) ymax float(obj.find(bndbox/ymax).text) # 边界裁剪防止标注越界导致训练时 invalid box xmin max(0, min(xmin, w)) ymin max(0, min(ymin, h)) xmax max(0, min(xmax, w)) ymax max(0, min(ymax, h)) # 过滤掉宽或高小于 1 像素的框 if xmax - xmin 1 or ymax - ymin 1: continue xc (xmin xmax) / 2.0 / w yc (ymin ymax) / 2.0 / h bw (xmax - xmin) / w bh (ymax - ymin) / h lines.append(f{cls} {xc:.6f} {yc:.6f} {bw:.6f} {bh:.6f}) out_name os.path.splitext(os.path.basename(xml_path))[0] .txt with open(os.path.join(out_dir, out_name), w, encodingutf-8) as f: f.write(\n.join(lines)) os.makedirs(labels, exist_okTrue) for xml in glob(Annotations/*.xml): voc2yolo_one(xml, labels)这段脚本的逻辑说明首先用cv2.imread读取图片得到真实宽高而不是信任 XML 里的 size这一步能把因为标注和图像尺寸不一致导致的框偏移问题干掉。其次classes列表的顺序就是后续模型的类别编号YOLO 训练时的names配置必须和它一一对应顺序错一位整个模型学的东西就全错了。最后边界裁剪和最小宽高过滤是免费吃后悔药的操作不写这两步训练过程中很容易因为越界框报“invalid box coordinates”的警告甚至直接 loss 变成 NaN——这是 PCB 数据集常见的翻车现场。3.3 类别名称归一化四个最常见的脏数据现场PCB 缺陷数据集的标注质量参差不齐ASCII 字符里的隐藏坑比想象中多。常见的四种脏数据第一种是标注类别名带空格或大小写不统一比如short和short、Open_Circuit和open_circuit。解决方法是转换脚本里先做name.strip().lower()再走一层名称映射表把别名归并到标准类名。第二种是标注里混入“无缺陷”标签有些数据包会为负样本图片标记background或者none这类目标框不应该参与训练直接跳过。不跳过的话模型会去学一个“缺陷框”和“无缺陷框”都预测的矛盾目标精度直接崩。第三种是标注框的坐标小数位有问题比如xmin和xmax写反了导致换算后框宽为负数。脚本里加一个判断xmax xmin时交换两者不加的话这一行会变成无效框。第四种是重复标注同一个缺陷在 XML 里被标了两遍框位置几乎一样。训练时模型会反复对着同一个小区域优化两次损失值异常但 mAP 又看不出大问题很隐蔽。可以在转换脚本里做一次简易去重遍历已有框如果新框和旧框的 IoU 大于 0.9保留面积大的那个。3.4 划分训练集和验证集别忽略随机种子VOC 格式通常在ImageSets/Main里提供划分文件但很多工业数据包里的划分文件是空白的或者只写了部分图片名。我一般的处理方式是直接重建一份划分不看原来的import random, os from glob import glob xmls glob(Annotations/*.xml) xmls [os.path.splitext(os.path.basename(x))[0] for x in xmls] random.seed(42) random.shuffle(xmls) split_idx int(len(xmls) * 0.85) train_names xmls[:split_idx] val_names xmls[split_idx:] with open(train.txt, w) as f: f.write(\n.join(train_names)) with open(val.txt, w) as f: f.write(\n.join(val_names)) print(len(train_names), len(val_names))这里用固定随机种子保证每次跑出来的划分是一致的不然每次划分不同模型对比就没有意义了。85:15 的划分是常见做法对于几千张图的数据集够用如果压缩包解压出来只有两三百张建议直接用 K 折交叉验证的思路训练不要硬划 15% 当验证集否则上面跑的指标波动会大到没法看。4. 用 YOLOv8 训练 PCB 缺陷检测data.yaml 与 5 个必调参数4.1 构造 data.yaml三类路径和 names 的写法数据转好、划分做好之后训练前要写一个 data.yaml。以 YOLOv8 为例YOLOv5、YOLOX 也类似这个文件告诉训练器数据在哪、有多少类、类别叫什么。路径我建议统一写到 yaml 的path字段里train 和 val 用相对路径path: D:/dataset/pcb_yolo train: images/train val: images/val names: 0: missing_hole 1: mouse_bite 2: open_circuit 3: short 4: spur 5: spurious_copper常见的常见做法是把图片放在images/train和images/val对应的标签放在labels/train和labels/val。目录结构不对的话Ultralytics 会在启动时报“No labels found”这时候先别怀疑代码基本就是目录层级没对齐。注意names的顺序必须和转换脚本里的classes列表完全一致。我见过有人转换脚本里把short排第二位yaml 里排第三位训练出来的模型对 short 的预测全部错位验证集 mAP 还显示很高——因为框的位置是对的类别张冠李戴了。这类问题看混淆矩阵confusion matrix最容易暴露矩阵对角线会非常稀疏而非对角线特别亮。4.2 训练命令与 5 个必调参数yolo detect train datapcb.yaml modelyolov8n.pt epochs150 imgsz640 batch16 cacheTrue device0这 5 个参数是 PCB 缺陷检测里最需要根据实际情况去调的第一是imgsz。640 是默认值但 PCB 缺陷检测里的目标往往很小。如果解压出来的图片是 1200x900 这类大图、缺陷可能只占 20x20 像素直接缩放到 640 后缺陷信息基本就损失了。我一般会优先把 imgsz 调到 1024 或 1280显存不够就配合 mosaic 增强一起用。如果 imgsz 拉高后 batch 降不下来可以回退到imgsz640 滑窗切图的方案后面第 6 章会细说。第二是batch。PCB 数据集图片尺寸往往不一batch 设大了容易爆显存设小了训练慢。常见做法是先不开 cache、用batch8试跑 10 个 epoch看显存占用再往上加。如果用了较大 imgszbatch 反而是最需要保守的参数。第三是cacheTrue。它会把图片预加载到内存训练时不用每次从磁盘读速度提升明显。代价是占内存如果图片多、尺寸大16G 内存会吃紧可以用cacheram或cachedisk二选一。第四是epochs。PCB 缺陷检测数据集通常不大几百到几千张图训练前期 loss 会快速下降但小目标检测能力往往要到第 80 个 epoch 以后才稳定。我一般设 150 起步配合早停看验证集指标不要用默认的 100 就收工。第五是device。单卡训练写成device0即可多卡才需要写0,1。PCB 这类小数据集用不着多卡多卡反而会因为 batch 同步开销导致每轮变慢。4.3 数据增强mosaic 和 copy-paste 的取舍YOLOv8 默认开启 mosaic 增强把四张图拼成一张训练。这个策略对通用目标检测有效但对 PCB 缺陷检测要小心mosaic 拼接会让原本只有几十像素的缺陷变得更小模型更难学。遇到这种情况常见的做法是在 yaml 里调整增强参数mosaic: 0.5 scale: 0.5 copy_paste: 0.3mosaic降到 0.5 意味着只有一半的训练样本参与拼接另一半保留原图尺寸。scale控制在 0.5 防止图片被缩得太小。copy_paste对 PCB 这类小目标很友好它会把一张图里的缺陷实例随机复制到另一张图里等于免费增加了少量类别的样本量。这个参数在正样本不足、类别不平衡的场景下收益非常明显。4.4 从 loss 曲线判断训练是否正常训练结束后看results.png重点看三个东西train/box_loss是否平稳下降metrics/mAP50和metrics/mAP50-95的曲线有没有在后期持续上升val侧的 loss 和train侧的 loss 有没有越拉越远。如果 train loss 一路走低、val loss 不降反升说明模型开始记忆训练集了PCB 缺陷检测里常见的原因是缺陷样本太少、而背景特征太相似。如果 mAP50 已经很高但 mAP50-95 上不去大概率是框定位还不够精细。PCB 缺陷的框往往很小对 IoU 阈值特别敏感这时候优先检查标注框有没有紧贴缺陷边缘而不是急着加大模型。把标注可视化出来看一遍通常比调参更有效。5. 训练 PCB 缺陷检测模型的 5 条排查经验从解压密码到小目标翻车5.1 rar 压缩包带密码解压失败时的处理思路现象双击解压“PCB板缺陷检测数据集-voc.rar”提示需要密码网上搜了一圈也找不到密码直接卡住。原因部分数据包在传播时被作者加了密码保护可能是通用的标注密码也可能是发布者自己的命名习惯。解决先检查压缩包注释文本有些作者会把密码写在注释里再翻一翻数据包配套的 txt 说明文件常见做法是密码就是数据集名称或者作者的常用 ID。如果这些都找不到可以直接用 7-Zip 的命令行测试模式看它是否真的是加密压缩而不是损坏——有的 rar 包在传输过程中头信息损坏也会报“需要密码”其实换一个压缩软件就能解开。5.2 中文路径导致训练读取图像失败现象训练启动时报找不到图片或者某几个 epoch 后突然报cv2.error仔细看路径里有一串乱码。原因rar 包在 Linux 下打包时文件名是 UTF-8而 Windows 下部分解压软件用本地 ANSI 编码解压导致目录和文件名变成乱码Python 的cv2.imread对这类路径经常直接返回None训练器不知道只统计到极少的图片就开始迭代。解决解压后立即把整个数据集目录重命名为纯英文路径把内部所有文件和文件夹也用脚本统一做一次编码修复import os for root, dirs, files in os.walk(pcb_voc): for name in files: old os.path.join(root, name) new_name name.encode(cp437).decode(utf-8, errorsignore) if new_name ! name: os.rename(old, os.path.join(root, new_name))这段脚本把乱码文件名按 CP437 编码转回 UTF-8能救回大部分在 Windows 下被 WinRAR 弄乱的文件名。修完再跑一遍盘点确认 JPEGImages 和 Annotations 数量一致再往下走。5.3 标注框越界训练中途出现 NaN 或 invalid box现象训练到中间box_loss突然变成 NaN或者控制台频繁打印WARNING: invalid box coordinates。原因某个 XML 里的 bndbox 坐标写反了、写了 0或者框超出了图片宽高。工业数据集里这类脏数据很难完全避免。解决在转换脚本里加边界裁剪和最小宽高过滤这个第 3 章已经给过代码。关键补充一点不要只过滤要把出问题的 XML 路径打印出来单独放一个error_xmls.txt训练完一轮后顺手人工修一下这些框比反复在训练日志里翻更容易定位问题。5.4 类别极度不平衡模型只学到大类现象训练完跑验证集缺孔和短路的识别效果还行毛刺和残铜几乎全部漏检。原因这类 PCB 数据集中六类缺陷的自然分布本来就不是均匀的短路和缺孔在产线上最多见标注量也最大模型自然会偏向它们。解决第一步在训练命令里启用 class weightsUltralytics 支持在 yaml 的names之外额外传权重weight: 0: 1.0 1: 1.0 2: 1.2 3: 1.0 4: 2.0 5: 3.0权重高代表这个类别损失占比更大模型会更认真对待少数类。第二步是对少数类做过采样把包含spur和spurious_copper的图片复制几份到训练目录里注意复制时要连 label 一起复制并且文件名不能重复。这两步做完少数类的召回率通常能回升十几个点。5.5 小目标缺陷在降采样后直接消失现象训练集图片分辨率很高但模型对微小缺陷毫无反应验证集里真实缺陷检出率极低。原因YOLO 系列会把输入图缩放到 imgsz比如 1200x900 缩到 640整张图上的 20x20 像素缺陷在缩放后只剩大约 10x10 甚至更小经过骨干网络多次下采样后特征图上的这个目标可能只剩一两个像素检测头根本找不到它。解决优先加大 imgsz 而不是换大模型。imgsz1280通常比yolov8n - yolov8m的提升更明显。如果显存不足就用滑窗切图把大图切成多个 640x640 的 patch每个 patch 单独训练和推理最后把结果合并回原图坐标。6. 验证才算数badcase 可视化与滑窗推理的收尾动作训练结束后不要急着看 mAP 就下结论。PCB 缺陷检测的落地场景里漏检一个缺陷可能意味着整批板子报废所以验证阶段的重点不是平均精度而是找出那些“模型信誓旦旦但实际错了”的坏例。我习惯的做法是跑一遍完整 badcase 可视化脚本对验证集逐张推理把漏检有 GT 框但没预测框、误检预测框但没 GT 框的图片全部输出按图片名生成一张汇总图框上标注类别和置信度。from ultralytics import YOLO import cv2, os model YOLO(runs/detect/train/weights/best.pt) os.makedirs(badcase, exist_okTrue) for img_name in val_names: img_path fimages/val/{img_name}.jpg results model(img_path, conf0.25) img cv2.imread(img_path) if len(results[0].boxes) 0: cv2.imwrite(fbadcase/miss_{img_name}.jpg, img)这段代码逻辑很简单一张验证图都预测不出任何框就把它当作“疑似漏检”存下来。工业场景里漏检比误检严重得多所以先看这一类。再看结果时如果发现漏检的图集中在某个类别回数据准备阶段补样本如果漏检的图分布在各个类别、且目标都极小就切到滑窗推理。滑窗推理的常见做法是把原图按步长 640 切成重叠 patch每块独立预测最后把预测框坐标加上 patch 的偏移量还原回原图坐标再用 NMS 合并重叠框。这个方案对显存要求低但对小目标检测的提升往往是决定性的。还有一个容易被忽略的动作抽查转换后的 label 文件随手打开一个 txt看里面的目标框坐标是不是落在图片有效区域内。这一步看着简单实际上能拦住大部分“训练流程跑通但结果没有价值”的尴尬局面。我现在拿到任何 PCB 缺陷数据集第一件事永远是做标注体检而不是直接开训。数据集的坑大多不在模型参数上而在你还没看见的标注和路径里。把这一整套流程走完、把这些坑提前堵住后面的训练结果才敢拿去做判断。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

AI语音伪造检测实战:TensorFlow与MFCC构建音频识别系统

AI语音伪造检测实战:TensorFlow与MFCC构建音频识别系统

简介:面向语音安全与深度学习实践者,针对深度合成语音带来的身份欺诈风险,提供一套可运行的AI语音真伪鉴别系统实战方案。项目以Python与TensorFlow为核心,基于MFCC特征提取与卷积神经网络(CNN)构建分类模型…

2026/10/11 12:49:37 阅读更多 →
pi_agent_rust 扩展生态与验证流水线:223项语料的符合性测试是怎么做的?

pi_agent_rust 扩展生态与验证流水线:223项语料的符合性测试是怎么做的?

人工智能大模型AI Agent代码智能体CLI开发工具工具调用MCP Clients 【免费下载链接】pi_agent_rust High-performance AI coding agent CLI written in Rust with zero unsafe code 项目地址: https://gitcode.com/gh_mirrors/pi/pi_agent_rust 点击查看 免费下载 …

2026/10/11 12:49:37 阅读更多 →
学术合规性如何?8款AI论文软件排行榜,毕业答辩稳了!

学术合规性如何?8款AI论文软件排行榜,毕业答辩稳了!

论文选题总在反复纠结,文献综述怎么也理不顺?查重修改一遍又一遍,格式调整让人抓狂? 别担心!AI论文工具正在改变你的写作方式。本文将从学术规范性、内容逻辑性、查重安全性、使用便捷性四个核心维度,深度…

2026/10/11 12:48:36 阅读更多 →

最新新闻

SS728M05身份证验证终端Windows接口包对接指南:从DLL调用到稳定部署

SS728M05身份证验证终端Windows接口包对接指南:从DLL调用到稳定部署

简介:面向Windows平台的神思SS728M05身份证验证SDK开发包,专供需要集成二代身份证读取、解码与真伪校验的开发者使用。接口封装了神思硬件设备的底层通信协议,适用于银行开户、网络实名认证、酒店登记等实名制场景,开发者无需深入…

2026/10/11 13:34:01 阅读更多 →
Windows 11下Qt 5.15.2安装与Qt Creator工具链配置实战

Windows 11下Qt 5.15.2安装与Qt Creator工具链配置实战

过去几年我一直用着 Qt 5.15.2,从 Windows 10 换到 Windows 11 之后,又新装了两台机器,都是走的在线安装器这条路。说实话,这版本没到“装一次就再无波澜”的程度,但只要你理解它背后的逻辑,每一步都知道要…

2026/10/11 13:34:01 阅读更多 →
ESP32舵机控制全攻略:接线、电源、代码与排坑实战

ESP32舵机控制全攻略:接线、电源、代码与排坑实战

做硬件的小伙伴应该都遇到过类似的场景:拿到一块 ESP32,想让它控制舵机转个特定角度,结果要么舵机上电就“咔咔”乱抖,要么角度死活不对,要么接好线一测试就闻到糊味。ESP32 舵机控制看着简单,但真正把它用…

2026/10/11 13:34:01 阅读更多 →
数据中心UPS后备保护与电池开关选型:ABB产品配置与避坑指南

数据中心UPS后备保护与电池开关选型:ABB产品配置与避坑指南

1. 从一次机房改造说起:为什么后备保护与电池开关选型总被低估干了十几年数据中心基础设施,我见过太多项目在UPS主机上砸重金,却在配套的后备保护和电池开关上"省小钱吃大亏"。前年参与一个中型数据中心的扩容改造,原设…

2026/10/11 13:34:01 阅读更多 →
FireRedTTS3部署指南:GPU配置、模型下载与常见报错排查清单

FireRedTTS3部署指南:GPU配置、模型下载与常见报错排查清单

【免费下载链接】FireRedTTS3 FireRedTTS3: Multilingual and Multi-Dialect Voice Cloning with Instruction-Guided Voice Design and Speech Editing 项目地址: https://gitcode.com/gh_mirrors/fi/FireRedTTS3 点击查看 免费下载 FireRedTTS3 是一个支持 24 种…

2026/10/11 13:34:01 阅读更多 →
论文AI率90%降到10%以内:亲测有效的改写流程与工具组合

论文AI率90%降到10%以内:亲测有效的改写流程与工具组合

论文AI率从90%降到10%以下,这个目标我亲测可以做到,关键不是找某个所谓的神器,而是把改写流程理顺。最近一段时间,陆续有同学拿着检测报告来找我,打开一看,AI率那一栏红得发紫,甚至整页标红&…

2026/10/11 13:33:00 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →