WIDER FACE B大目标子集:VOC/YOLO转换与YOLOv8训练实战
简介面向近距离大目标人脸检测的WIDER Face数据集B子集共8188张jpg图片对应8188个VOC格式xml与8188个YOLO格式txt标注类别仅face所有标注框像素面积大于3500总计14649个框能有效降低远距离小目标误检适合近距离监控、门禁、考勤、人流量统计等场景。压缩包约862MB整体文件约2000个以xml标注和说明txt为主标注由labelImg按统一规则绘制格式规范可直接导入常见检测框架配合作者博客说明可快速完成数据集划分与训练配置。已有468人学习浏览配套说明便于快速掌握使用方式。需要声明的是数据集只提供准确且合理的标注不对训练所得模型精度作任何保证。1. WIDER FACE 的 B 大目标子集8188 张图到底能做什么widerface 人脸检测数据集在很多项目里是用全量数据跑的但我实际拆过之后反而更推荐先用子集。这份压缩包把 WIDER FACE 里人脸在画面中占比较大的样本单独挑出来凑成 8188 张、1 个类别face同时给了 VOC 和 YOLO 两种标注格式。它的价值不在于比全量大而在于小且干净拿来练通 YOLO 流程、验证数据增强策略、跑小模型基线比一头扎进几万张图找问题高效得多。适合正在做人脸检测、想做迁移测试、或者刚入门目标检测但被格式转换卡住的人。2. 格式重组VOC 与 YOLO 标注是怎么从 WIDER FACE 原生标注转出来的WIDER FACE 原始标注是一堆 txt直接丢给 YOLOv8 是跑不了的所以作者才转成 VOC 和 YOLO 两套格式。想用好这份资源先得理解这两套标注各自的组织方式才能在后面对坐标、调参数时不发怵。2.1 原生标注不是 XML 也不是 YOLO txtWIDER FACE 官方标注通常是一个文本文件按图片逐行记录典型内容长这样0--Parade_0_452.jpg 1 460 179 143 147 0 0 0 0 0第一行是图片名第二行是这张图里的人脸数量第三行开始每个框占一行十个数字依次是 x、y、w、h、blur、expression、illumination、occlusion、invalid。前四个数字决定检测框位置和大小后面几个属性在做人脸质量筛选时会用到。这份 B 大目标资源既然给的是 VOC 和 YOLO说明作者一定把这段原生 txt 读出来重新算过一遍。我拿到压缩包后第一件事永远是找 README 或转换脚本确认坐标是 0 起始还是 1 起始因为同一个 WIDER FACE 版本在不同人手里会转出不同结果。2.2 VOC 格式XML 树里每个 object 对应一个人脸VOC 格式也就是 PASCAL VOC 通用标注用 XML 描述一张图的所有信息。典型内容如下annotation filename0--Parade_0_452.jpg/filename size width1024/width height683/height depth3/depth /size object nameface/name bndbox xmin460/xmin ymin179/ymin xmax603/xmax ymax326/ymax /bndbox /object /annotationVOC 的好处是字段可读性强很多老检测框架只认这种 XML代价是文件数量多8188 张图就有 8188 个 XML。xmin、xmax 是像素坐标如果按左上角为 1 来算xmax x w如果按 0 来算xmax x w - 1。二者只差 1 像素肉眼看不出来但会影响后续所有换算。拿到资源后先抽查一个 XML确认作者用的是哪种约定再决定后面的校验脚本怎么写。2.3 YOLO 格式中心点归一化坐标类别固定为 0YOLO 标签则是每个框一行和 XML 一一对应0 0.539062 0.487500 0.139648 0.215226这一行五个数字分别是 class、x_center、y_center、width、height最后四个都除以图片宽高做了归一化所以范围一定在 0 到 1 之间。类别之所以是 0是因为这份数据集只有 face 一个类别以后如果自己加类别要去 data.yaml 里同步调整 names 顺序。YOLO 格式训练时读取快不解析 XML但对坐标范围和顺序极其敏感。一旦 w 或 h 被错误地写成 xmax、ymax模型训练时看到的框就是错位的这种问题光看数值很难发现。2.4 从原生 txt 到 VOC/YOLO 的换算过程通常做法是写一段转换脚本对每张图先读图片宽高再逐行把 bbox 展开成两种输出。下面这段代码是我会用的核心逻辑import cv2 # 模拟一行原生标注x, y, w, h x, y, w, h 460, 179, 143, 147 img cv2.imread(0--Parade_0_452.jpg) H, W img.shape[:2] # VOC 框绝对像素直接用左上加宽高 xmin, ymin, xmax, ymax x, y, x w, y h # YOLO 框中心点 归一化 x_center (x w / 2) / W y_center (y h / 2) / H norm_w w / W norm_h h / H yolo_line f0 {x_center:.6f} {y_center:.6f} {norm_w:.6f} {norm_h:.6f} print(yolo_line)这段代码的关键在于 W 和 H 必须来自 cv2.imread 读出的真实尺寸而不是从文件名或 EXIF 猜。很多转换脚本翻车就翻在拿固定分辨率做整除结果某几张图比例不对全部标注错位。参数上x_center 保留 6 位小数对训练已经足够如果这份资源已经转好你不必重跑脚本只需要拿这段逻辑去反验证它转得对不对。我一般会随机抽一张图把 YOLO txt 里的归一化坐标反算回像素坐标再和 VOC XML 里的 xmin、ymin 对比偏差在 1 像素以内就说明换算没毛病。3. 落地第一步解压、跑通目录校验与标签统计脚本无论资源吹得多好直接丢进训练器都是玄学。先把目录结构摸清楚确认 8188 张图、标签数量、框尺寸分布都正常再谈训练。3.1 解压 .7z 前先列文件确认根目录7z 压缩包没有自校验目录的功能我见过有人解压完发现所有图片直接散在根目录训练脚本路径全部对不上。所以第一步用 7z l 列出内容7z l wider_B.7z 7z x wider_B.7z -o./wider_B这里的 wider_B.7z 是我把下载到的长文件名重命名后的短名字纯为了命令行方便。7z l 不真正解压只打印文件清单-o 指定输出目录避免解压到当前目录造成环境污染。如果压缩包文件名是中文建议先重命名成短英文名再操作否则在 Windows 终端里容易遇到编码问题。解压完用 ls 看一眼顶层目录ls -R ./wider_B | head -50这一步能验证 VOC 和 YOLO 是不是两个独立根目录图片是否重复存放。常见的干净结构是 VOC/{JPEGImages,Annotations,ImageSets/Main} 和 YOLO/{images,labels}。如果解压后只有一个 images 目录说明图片是共用的需要自己在训练脚本里处理好路径关系。3.2 统计图片总数和 XML 数量先对 8188 的账解压后第一件事是数字对账。压缩包名字写 8188 张实际文件数不一定严格等于 8188因为可能有坏图或者空标签被跳过。用一段最简单的脚本统计import os voc_img ./wider_B/VOC/JPEGImages voc_xml ./wider_B/VOC/Annotations yolo_img ./wider_B/YOLO/images yolo_txt ./wider_B/YOLO/labels for name in [JPEGImages, Annotations]: path os.path.join(./wider_B/VOC, name) files os.listdir(path) print(name, len(files), 个文件) print(YOLO images, len(os.listdir(yolo_img))) print(YOLO labels, len(os.listdir(yolo_txt)))这段代码没有技术含量但能快速发现后三位对不上。比如 YOLO labels 比 images 少 15 个你就知道有 15 张图缺标签。参对上之后还要看图片扩展名WIDER FACE 原图是 jpg但有人转格式时存成了 png如果后续脚本硬编码 .jpg匹配就会失败。我一般会写一个集合差集把所有不一致的文件名找出来import os def basename_set(path): return {os.path.splitext(f)[0] for f in os.listdir(path)} img_names basename_set(./wider_B/YOLO/images) label_names basename_set(./wider_B/YOLO/labels) print(缺标签的图:, img_names - label_names) print(缺图片的标签:, label_names - img_names)这段代码用集合差集找不一致文件零成本。出现差集时不要直接删先看是后缀问题还是真的漏标。后缀问题把 jpg 统一成 png 或反之即可真漏标就要决定是补空标签还是删图我一般优先补空标签保留场景多样性。3.3 统计人脸框数量与尺寸分布判断是不是真的“大目标”既然是 B 大目标子集人脸框尺寸应当整体偏大。你可以用脚本统计每个框的宽高中位数再对比官方 WIDER FACE 全量集的分布。如果中位框只有三四十像素那这个“大目标”就名不副实训练参数也要跟着改。import os import xml.etree.ElementTree as ET widths, heights [], [] annos_dir ./wider_B/VOC/Annotations for name in os.listdir(annos_dir): if not name.endswith(.xml): continue tree ET.parse(os.path.join(annos_dir, name)) for obj in tree.findall(object): bndbox obj.find(bndbox) xmin float(bndbox.find(xmin).text) xmax float(bndbox.find(xmax).text) ymin float(bndbox.find(ymin).text) ymax float(bndbox.find(ymax).text) widths.append(xmax - xmin) heights.append(ymax - ymin) print(标注框总数:, len(widths)) print(宽度中位数:, sorted(widths)[len(widths) // 2]) print(高度中位数:, sorted(heights)[len(heights) // 2]) print(宽度100像素占比:, sum(1 for w in widths if w 100) / len(widths))这是判断数据质量的关键一步。如果中位框宽度在 100 像素以上说明大目标成立之后 imgsz 用 640 就不会丢细节如果中位框只有四五十像素那就要把 imgsz 提到 960 再试。另外这段代码顺便算了单图多目标的情况如果 widths 数量远大于图片数说明很多图里有多个脸后面做 train/val 划分时尽量按图切分不要按标注框切分。3.4 检查越界框和空标签WIDER FACE 原生数据里有少量框会超出图片边缘转 VOC/YOLO 时不一定被裁掉。训练时越界框会导致损失不稳定尤其 YOLO 对归一化坐标超出 1 的容忍度很低。写一段越界检查import os import cv2 import glob import xml.etree.ElementTree as ET for xml_path in glob.glob(./wider_B/VOC/Annotations/*.xml): img_path xml_path.replace(Annotations, JPEGImages).replace(.xml, .jpg) if not os.path.exists(img_path): print(缺图:, img_path) continue h, w cv2.imread(img_path).shape[:2] tree ET.parse(xml_path) for obj in tree.findall(object): bb obj.find(bndbox) xmin float(bb.find(xmin).text) ymin float(bb.find(ymin).text) xmax float(bb.find(xmax).text) ymax float(bb.find(ymax).text) if xmin 0 or ymin 0 or xmax w or ymax h: print(越界:, os.path.basename(xml_path), (xmin, ymin, xmax, ymax), (w, h))这里用 glob 的 * 匹配单层目录xml_path.replace 只在目录结构一致时成立所以脚本和目录结构是强绑定的。越界框的处理方式有两种把框 clamp 到图片边界或者在数据预处理里过滤。我倾向 clamp因为对检测框影响最小直接删框会让模型对边缘人脸的召回变差。4. 拿去跑 YOLOv8data.yaml、训练集划分与训练参数怎么设这份资源的最终用途大概率是训练一个自己的人脸检测模型。以 YOLOv8 为例从 data.yaml 到训练命令每一步都有不少隐藏细节。4.1 data.yaml 的隐藏细节path 字段会改变路径拼接方式YOLOv8 的 data.yaml 格式非常固定path: /home/you/wider_B train: YOLO/images/train val: YOLO/images/val nc: 1 names: [face]注意如果写了 pathtrain 和 val 会被拼接到 path 后面这是 YOLOv8 比较容易踩坑的地方。如果不写 pathtrain 和 val 就必须写成绝对路径。我一般建议直接用绝对路径少一层拼接逻辑。还有一点labels 目录不需要在 yaml 里声明YOLOv8 默认在 images 路径的同级找 labels所以 images/train 对应 labels/train。如果你的目录结构不是这种平铺关系要么改目录要么在训练脚本里手动指定。4.2 用脚本划分训练/验证集顺手保留原始文件不要在原始 images 和 labels 目录里直接切分建议先复制一份到 train/val 子目录原因是你后面还要回头找原始文件做对比。脚本如下import os import random import shutil src_img ./wider_B/YOLO/images src_lab ./wider_B/YOLO/labels random.seed(42) names [f for f in os.listdir(src_lab) if f.endswith(.txt)] random.shuffle(names) split int(len(names) * 0.8) for i, f in enumerate(names): subset train if i split else val img f.replace(.txt, .jpg) shutil.copy(os.path.join(src_img, img), f./wider_B/YOLO/images/{subset}/{img}) shutil.copy(os.path.join(src_lab, f), f./wider_B/YOLO/labels/{subset}/{f})这里用 copy 而不是 move就是为保留一份原始集。random.seed(42) 保证每次跑出来的划分完全一致方便复现实验结果。8:2 是常见起点人脸数据集如果单图目标数差异大可以考虑先按图片里人脸数量分层抽样再 shuffle避免 train 全是单人脸而 val 全是密集人群。参数上如果图片后缀是 png要同时改 replace 里的后缀否则会复制失败。4.3 训练参数怎么给imgsz 和 mosaic 要重点考虑针对 B 大目标子集人脸占画面比例大imgsz 用 640 已经够用但不要低于 416否则大目标细节被严重压缩。epochs 先给 30 轮试水不要一上来就 300 轮浪费机器也浪费时间。yolo detect train data./wider_B/data.yaml modelyolov8n.pt \ epochs30 imgsz640 batch16 device0 \ project./wider_B/runs nameface_b_exp1 cacheTrueyolov8n.pt 是 nano 版本先跑通流程显存不足时 batch 降到 8imgsz 降到 480。device0 指定 GPUCPU 训练建议把 imgsz 降到 416。cacheTrue 会把图片缓存进内存加快训练8188 张图一般占不了多少内存。这里还有一个参数值得单独说mosaic 增强默认是 1.0但对人脸检测这种目标位置相对独立的场景mosaic 会把一张大图切成四块拼接模型容易学到残缺的人脸。我一般会在后期把 mosaic 关小比如加参数 mosaic0.5或者用 close_mosaic10 表示最后 10 轮关闭 mosaic 精调。4.4 验证结果怎么看不要只盯着 mAP50训练结束后运行yolo detect val data./wider_B/data.yaml model./wider_B/runs/face_b_exp1/weights/best.pt输出里会打印 mAP50 和 mAP50-95。1 类人脸检测mAP50 高不代表框准mAP50-95 对框的位置精度更敏感。B 大目标如果中位框超过 100 像素mAP50-95 至少应该在 0.6 以上低于这个数要怀疑标注有系统偏移。还要看 runs 目录下的混淆矩阵和 F1 曲线尤其关注 recallfalse negative 高说明人脸漏检多。最后打开验证集里带预测框的图片看模型有没有把人脸框成斜的或整体偏移。这一步是人工兜底任何指标都不能替代肉眼判断。5. 避坑从 WIDER FACE 到 YOLO 最容易翻车的五个问题转换好的数据集也不是拿来就能训的。我拆这份资源时踩过不少坑整理成五条最常见的按“现象 → 原因 → 解决”写清楚。5.1 训练 loss 变 NaN越界框和零宽高是头号嫌疑现象训练到第 5 轮左右 loss 突然变成 NaN重启后又在同一位置炸掉。原因YOLO 标签里的中心点坐标或宽高超出 01 范围模型在计算损失时出现无穷值。常见诱因是转换脚本用了错误的图片宽高或者某张图损坏cv2.imread 返回 None脚本把空值当成 0 继续做归一化。解决先跑越界检查脚本把所有 labels 目录下的 txt 读出来检查范围。我上次遇到这个问题定位后发现是有 3 张图像损坏导致那 3 张图的标签整体异常。手动删除或修复损坏图后loss 就正常了。5.2 VOC 和 YOLO 框对不上坐标基准问题现象同一张图VOC 画的框比 YOLO 框整体向左上偏移偏差约 1 像素放大看很明显。原因VOC 按 1-based 记录左上角YOLO 按 0-based 计算中心点转换时没有统一基准导致 x_center 算法里少减了 0.5 或 1。解决把 YOLO 中心点反算成 x1 (x_center - w / 2) * W再和 XML 的 xmin 对比。差 1 像素是坐标约定差异不影响训练差 3 像素以上就要检查换算逻辑。这类问题用批量脚本很难查抽 5 张图画框对比就够了。5.3 验证 mAP 比社区结果低一大截评测口径不一致现象同一份 B 大目标子集本地 mAP50 只有 0.65群里别人发 0.9心态直接崩。原因评测配置不同。imgsz 用 640 还是 1280conf 阈值设 0.001 还是 0.05NMS IoU 用 0.5 还是 0.6都会显著影响结果。更常见的坑是把 WIDER FACE 全量验证集混进来测了数据分布完全不同。解决统一用官方默认命令先跑一遍记录 conf、iou 这些超参数对比别人结果前先把评测口径对齐。另外 B 大目标子集不含小目标mAP50-95 天然比混合尺度低这是数据决定不是模型问题。5.4 GPU 利用率上不去图片解码成瓶颈现象训练时 GPU 利用率在 20% 到 40% 之间跳动CPU 却跑满训练速度远低于预期。原因WIDER FACE 原图分辨率高解码耗时长数据加载跟不上 GPU 消费速度。Windows 下 num_workers 设置不当也会这样。解决训练命令加 cacheTrue把图片缓存到内存num_workers 设为 8Windows 下建议 4否则容易报 worker 崩溃。如果还卡把 imgsz 降到 480 再看。8188 张图的缓存占用通常不超过 12GB 内存大多数训练机器都能接受。5.5 压缩包声称 8188 张实际统计少 16 张空标签文件惹的祸现象统计 images 和 labels 数量差 16某些图没有同名 txt。原因转换脚本跳过了空标注图片或者文件名带了中文括号、空格没有被 glob 匹配到。解决用集合差集找到缺失名单逐个看是空标注还是后缀问题。如果是空标注我建议补一个空 txt而不是删图。原因很简单训练时遇到无目标图会让模型学习背景抑制对降低误检有帮助如果直接删图验证集的背景多样性会变差。6. 进阶验证用 OpenCV 画框比对二十秒确认标注没丢数据好不好训练前画一次框就知道了。与其等到训练完看指标不如先用 OpenCV 把标注直接画在原图上肉眼确认坐标有没有系统偏移。import cv2 import os img cv2.imread(./wider_B/YOLO/images/train/0.jpg) h, w img.shape[:2] with open(./wider_B/YOLO/labels/train/0.txt) as f: lines f.read().strip().splitlines() for line in lines: cls, xc, yc, bw, bh map(float, line.split()) x1 int((xc - bw / 2) * w) y1 int((yc - bh / 2) * h) x2 int((xc bw / 2) * w) y2 int((yc bh / 2) * h) cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 2) cv2.imwrite(./check_0.jpg, img)这段代码先把 YOLO 归一化中心点反算成像素坐标再画矩形。如果一张图有多个人脸建议每个框用不同颜色画否则重叠时看不清边界。画完之后再用同样方法把 VOC XML 也画一遍两张图叠起来对比重合度一眼就能确认。自从有一次我偷懒没做这步直接训练了 50 轮最后发现一个子目录的标签全是空文件白白浪费两天。从那以后我每次换数据集都强制走一遍“解压 → 统计 → 画框 → 训练 30 轮”的流程。希望这套流程对你也有帮助。本文还有配套的精品资源点击获取

相关新闻

如何从零构建 AI File Sorter:跨平台源码编译完整指南(含 llama.cpp 多后端运行时)

如何从零构建 AI File Sorter:跨平台源码编译完整指南(含 llama.cpp 多后端运行时)

AI 应用大模型本地部署桌面应用 【免费下载链接】ai-file-sorter Cross-platform desktop application for content-aware file organization and renaming. Supports local and remote LLMs, preview-based workflows, and fully user-controlled changes. 项目地址&#xff1…

2026/10/11 17:12:08 阅读更多 →
三层交换机VLAN配置实战:从SVI到跨VLAN通信排障全解析

三层交换机VLAN配置实战:从SVI到跨VLAN通信排障全解析

做网络实验这么多年,三层交换机的配置永远是绕不开的坎。最近整理之前的实验笔记,翻到这份“实验八 三层交换机的VLAN配置”,当时折腾了不少时间,也踩了好几个坑,现在把整个实验的配置思路、操作过程和排障经验完整梳理…

2026/10/11 17:12:08 阅读更多 →
HaleHound-CYD防御模式指南:Jam Detect全频段干扰检测与Blue Team蓝队模式切换

HaleHound-CYD防御模式指南:Jam Detect全频段干扰检测与Blue Team蓝队模式切换

【免费下载链接】HaleHound-CYD ESP32-DIV HaleHound Edition for Cheap Yellow Display - Multi-protocol offensive security toolkit 项目地址: https://gitcode.com/gh_mirrors/ha/HaleHound-CYD 点击查看 免费下载 HaleHound-CYD 是运行在 ESP32「Cheap Yello…

2026/10/11 17:12:08 阅读更多 →

最新新闻

Spring Boot + Vue民宿预订网站全栈开发实战与部署指南

Spring Boot + Vue民宿预订网站全栈开发实战与部署指南

1. 项目概述手记做民宿房源预订网站,这几年算是个非常典型的全栈练手项目,同时也是很多毕业设计、个人作品集里的常客。市面上类似的系统不少,但大多数要么只停留在管理后台,要么前端拿模板硬套,真正能做到前后端分离、…

2026/10/11 18:06:40 阅读更多 →
输电线路分布式故障诊断系统合规设计指南

输电线路分布式故障诊断系统合规设计指南

简介:本资源为《国家标准 输电线路分布式故障诊断系统(征求意见稿)》正式文本,面向电力系统设计、运维、检测及标准研究领域的工程师、科研人员与高校师生,旨在支撑高电压等级输电线路故障快速定位与智能诊断技术的规范…

2026/10/11 18:06:40 阅读更多 →
SQL数据库课程设计宾馆房间管理系统:从ER图到窗口函数的完整落地

SQL数据库课程设计宾馆房间管理系统:从ER图到窗口函数的完整落地

简介:《SQL数据库课程设计宾馆房间管理系统.doc》是面向软件工程专业学生的课程设计参考文档,以宾馆客房管理为业务场景,完整演示从需求分析、概念结构设计、逻辑/物理设计到SQL Server 2000建库建表及C#.NET程序实现的全过程。文档包含数据流…

2026/10/11 18:06:40 阅读更多 →
编译原理实验:词法分析与语法分析器从零实现指南

编译原理实验:词法分析与语法分析器从零实现指南

简介:面向编译原理课程实验的词法分析与语法分析报告,系统讲解单词识别原理、状态图设计以及LL(1)语法分析表构造。资源围绕标识符、关键字、十进制整数、运算符和分隔符的识别展开,给出使用C语言实现的扫描函数完整代码,并以表达…

2026/10/11 18:06:40 阅读更多 →
Spring Boot+Vue前后端分离旅游订票系统实战:从库存防超卖到订单状态机

Spring Boot+Vue前后端分离旅游订票系统实战:从库存防超卖到订单状态机

上个季度我完整做了一个“旅游线路展示 在线订票”的前后端分离项目:Spring Boot 做后端接口,Vue 做前端页面,整个系统包含线路浏览、景点详情、日期团期选择、订单提交、支付状态回跳、后台线路维护这些核心环节。项目不大,但业…

2026/10/11 18:06:40 阅读更多 →
Linux线程同步指南:从互斥锁、条件变量到生产者消费者模型

Linux线程同步指南:从互斥锁、条件变量到生产者消费者模型

1. 一条计数器的崩溃现场:竞态条件到底怎么回事上一周我在调一个批量图片压缩工具,开了四个线程同时去处理任务队列,结果跑出来的图片里有好几张是花的,还有一次直接段错误。我排查了很久,最后定位到问题根源不在压缩算…

2026/10/11 18:05:40 阅读更多 →

日新闻

流感时间序列预测实战: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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →