宫颈癌YOLOv5检测数据集实战:从数据校验到训练调参全流程
简介面向宫颈癌检测的YOLOv5格式高质量数据集类别为cancer面向计算机视觉、深度学习和医疗影像分析方向的研究者与开发者可直接用于目标检测模型训练、小目标检测算法验证及标注效果评估等环节。压缩包体积约180.22MB共2000个文件其中916张JPEG图像、1083个TXT标注文件、1个Python可视化脚本完整覆盖图像数据、边界框标签与辅助工具图像为640×640高分辨率RGB图片病灶边界框标注清晰TXT标签记录目标类别与归一化坐标便于读取修改。数据集已按YOLOv5标准目录结构划分训练集816张、验证集216张标签与图片一一对应无需额外处理即可投入训练也可方便切换到其他检测框架考虑到病灶在整图中占比较小该数据尤其适合小目标检测方法的评估与调优还可作为医疗影像检测迁移学习的备选数据。压缩包内附带可视化脚本随机传入一张图片即可绘制边界框并保存到当前目录能快速核验标注质量目前已有29人学习适合需要标准高质量YOLO格式数据开展实验、对比不同模型或复现检测效果的用户。1. 宫颈癌YOLOv5检测数据集值不值得下先把训练管线跑通再谈精度白天在病理切片上圈鳞状上皮区域圈到手腕发酸晚上还要折返回来核对标注框的宽高比这是我反复整批宫颈癌YOLOv5检测数据集之前的日常。这份资源把训练集、验证集、YOLO 格式的标签文件、类别配置一次理好省掉了写格式转换脚本和逐个清洗标注文件的时间。对要做宫颈细胞学图像目标检测的研发者以及刚入门病理辅助诊断的算法同学它能直接解决数据准备阶段最磨人的一周。这篇笔记把它完整拆开数据有哪些坑、训练参数怎么设、推理怎么落地照着一轮跑完你就能判断它值不值得用在你自己的项目里。2. 数据资产盘点训练集、验证集、标注文件下载后第一步先核对什么2.1 目录结构逐层拆解images、labels、yaml 各自负责什么拿到这份宫颈癌 YOLOv5 数据集第一件事不是急着开训练而是先搞清楚目录结构。大部分从公开渠道下载的检测数据集目录合理性参差不齐有的把训练、验证混在一个文件夹里有的标签缺失漏标一多半这份资源在组织上下了功夫目录大致是这个分层cervical_dataset/ ├── images/ │ ├── train/ # 训练图像JPG 格式约 70%~80% 样本量 │ └── val/ # 验证图像与训练不重叠 ├── labels/ │ ├── train/ # 每个 .jpg 对应一个同名 .txt │ └── val/ ├── data.yaml # 类别名、路径、nc 数量 ├── README.md # 标注规则说明与样本示例 └── classes.txt # 类别清单供脚本读取images 目录和 labels 目录必须一一对应这是 YOLOv5 的基本约定训练时 DataLoader 会拿着图像路径去找同名.txt找不到就报 no labels found找到空文件就直接跳过这张图。所以下载完成后的第一件事就是写个简单脚本核对文件名是否对齐我一般会跑一遍这个检查脚本import os from pathlib import Path img_dir Path(cervical_dataset/images/train) lab_dir Path(cervical_dataset/labels/train) img_files {p.stem for p in img_dir.glob(*.jpg)} lab_files {p.stem for p in lab_dir.glob(*.txt)} only_img img_files - lab_files only_lab lab_files - img_files print(f图像总数: {len(img_files)}标签总数: {len(lab_files)}) print(f有图无标签: {len(only_img)}有标签无图: {len(only_lab)}) # 空标签文件检查 empty [p for p in lab_dir.glob(*.txt) if p.stat().st_size 0] print(f空标签文件数量: {len(empty)})这个脚本做的事情很直接把训练目录下所有图片和标签的文件名去掉后缀分别取集合做差集就能看到哪些图没有对应标签哪些标签文件是多余的。空标签文件尤其值得关注它们通常意味着原标注人员在这一张图里没画任何框如果你不做过滤YOLOv5 训练时会直接跳过它们验证时却会当作预测错误处理导致 mAP 虚假偏低。还有个细节容易被忽略检查标签文本里的类别编号是否在nc范围内。这份数据集的类别通常不会太多如果编号越界训练会在 loss 计算阶段直接报 index out of range。所以紧接着要跑一个数值层面的校验确认每一行格式是class_id x_center y_center width height且坐标落在 0~1 区间内。2.2 标注质量快检坐标归一化、类别编号、空标注文件医疗图像数据集的标注质量是决定模型上限的核心因素。YOLO 格式要求的是归一化坐标即框的x_center、y_center、width、height都除以图像宽高。很多新手拿到数据以后不做检查直接训练等到 loss 怎么都降不下来回头才发现标签里混进了像素坐标或者混入了未归一化的数据。我习惯在训练前做一次五维统计对每个标签文件里的四类数值做分布扫描import numpy as np from pathlib import Path all_boxes [] for txt in Path(cervical_dataset/labels/train).glob(*.txt): with open(txt) as f: for line in f: parts list(map(float, line.strip().split())) if len(parts) ! 5: print(f格式异常: {txt.name} - {line.strip()}) continue cls, xc, yc, w, h parts all_boxes.append([xc, yc, w, h]) arr np.array(all_boxes) print(坐标最小值:, arr.min(axis0)) print(坐标最大值:, arr.max(axis0)) print(宽度均值:, arr[:, 2].mean(), 高度均值:, arr[:, 3].mean())一组合格的 YOLO 标签xc、yc、w、h都应该在 0~1 范围内最大值不应该超过 1.0如果出现大于 1 的坐标说明标注工具导出的格式没转干净必须退回重转。另一种情况是 w 和 h 出现 0 值这是标注时画点误操作、没有真正拉出框来的典型表现这样的目标在训练时会被当作背景处理属于噪声样本。做完这两步检查你基本能判断这份数据集能不能直接喂给模型。从我的经验看当前这份宫颈癌数据的标注一致性不错大部分样本是单类别目标少数包含多类别但仍然建议你自己跑一遍上面的检查不花多少时间能避开后续一堆莫名其妙的报错。2.3 数据规模与比例参考训练验证划分的常见做法数据规模决定训练策略。这份资源内置的训练验证划分比例大约是 8:2 或 7:3具体以data.yaml里写的路径为准。训练时 YOLOv5 不要求验证集但验证集必须存在因为它关系到早停、学习率调整和最终模型筛选。我拿到的这个版本训练图像数量在数千张级别包含多种染色条件下宫颈抹片或组织切片的图像角度、亮度、遮盖形态都有区分。这个体量对于 YOLOv5s 或 YOLOv5m 来说够用对 YOLOv5x 来说偏少需要配合较强的数据增强和迁移学习来稳住训练。如果你要重新划分训练验证比例比如把更多数据放进训练集需要同步把 labels 目录对应切分# 先按一定比例随机抽取文件名 python - EOF import random from pathlib import Path files [p.name for p in Path(cervical_dataset/images).glob(*.jpg)] random.seed(42) random.shuffle(files) split int(len(files) * 0.8) train_files files[:split] val_files files[split:] print(len(train_files), len(val_files)) EOF这种自己切分的情况通常发生在你想用更大的训练集做二次迁移时注意切完以后 images 和 labels 要同步移动最好用一个脚本完成两边操作避免手动移动漏文件。3. 从零跑到收敛YOLOv5 训练宫颈癌检测模型的关键参数设定3.1 数据配置与预训练权重选型yaml 怎么写、权重怎么选YOLOv5 的训练入口是train.py但它真正读取的数据配置是data.yaml。这份宫颈癌数据集的data.yaml大致长这样train: cervical_dataset/images/train val: cervical_dataset/images/val nc: 1 names: [cervical_lesion]如果你要新增类别比如想把“疑似病变区域”和“明确病变区域”分成两类就要把nc改成 2并在names里追加对应名称同时所有标签文件里的类别编号需要重新映射。这个动作必须用脚本批量做不能手改单个 txt。预训练权重的选型决定了训练起点。YOLOv5 官方仓库提供了yolov5s.pt、yolov5m.pt、yolov5l.pt等权重分别对应不同模型体量。对于宫颈癌检测这个任务目标区域在图像里偏小、特征相对集中我一般会先尝试yolov5s起步。它的推理速度快、显存占用少便于快速跑通完整流程如果收敛后精度不够再换yolov5m或yolov5l继续训练而不是一上来就用最大的模型否则一张图还没跑完显存先爆了。3.2 训练命令与关键超参数batch、img-size、epochs、patience数据检查完、配置文件改好就可以启动训练。我用的基准命令是这样python train.py \ --data cervical_dataset/data.yaml \ --weights yolov5s.pt \ --img 640 \ --batch 32 \ --epochs 100 \ --cache ram \ --project runs/cervical \ --name baseline这里的每个参数都值得细说。--img 640是输入分辨率YOLOv5 会自动把图像 resize 到这个尺寸。宫颈癌病灶区域通常不是特别大640 作为基准值够用但如果你的数据里存在极度细小的病变区域可以试--img 1280代价是显存占用几乎翻倍、训练速度明显下降。--batch 32表示一次迭代喂入 32 张图batch 太小导致梯度抖动、手一抖就发散batch 太大又吃显存。--epochs 100是最大迭代轮数实际训练不一定跑满YOLOv5 自带早停机制patience默认 100 轮无提升就自动停止。--cache ram是为了减少磁盘 IO。医疗图像通常文件较大如果每个 epoch 都从硬盘重新读图训练耗时会被拉长。把数据缓存进内存能显著加速小数据集训练但前提是你内存足够否则会内存交换反而更慢。训练中你会看到每个 epoch 打印出一组指标Box P、R、mAP0.5、mAP0.5:0.95。如果 mAP 在全训练过程中一直无法上升先去检查数据八成是标签或者类别配置的问题不是模型结构的问题。3.3 验证与测试流程val.py、test.py 如何用指标看什么训练结束后YOLOv5 会在runs/cervical/baseline/weights/下输出best.pt和last.pt。best.pt是验证集上 mAP 最高的权重后续推理、部署都用它last.pt是最后一个 epoch 的权重主要用于异常中断后恢复训练。验证集上的评估会单跑一遍python val.py \ --data cervical_dataset/data.yaml \ --weights runs/cervical/baseline/weights/best.pt \ --img 640 \ --conf 0.25 \ --iou 0.5--conf 0.25是置信度阈值低于这个值的预测框会被过滤掉--iou 0.5是 NMS 的交并比阈值控制重复框的抑制程度。这两个参数不是固定死的医疗检测场景下如果你更看重召回率可以把 conf 调低到 0.1 甚至 0.05代价是假阳性变多反之如果业务上无法接受太多误检把 conf 抬到 0.4 以上。有一点要特别提醒验证集上的 mAP 只是参考不等于实际业务表现。宫颈癌筛查场景下漏诊一个病变区域和误报一个正常区域的代价完全不同你要根据应用场景调置信度而不是无脑接受验证集上最优的阈值。医疗相关检测任务宁可额外加一个人工复核环节也不要盲目追求自动化的高指标。4. 数据增强与采样策略解决医疗影像稀缺数据的过拟合问题4.1 小目标与稀疏标注增强参数怎么调医学图像与自然图像有一个显著差异很多时候一张图里只有一两个标注框背景占比极大。直接训练容易让模型学到“背景优先”对病变区域的响应很弱。数据增强是缓解这个问题的主要手段YOLOv5 的增强参数集中在hyp.yaml里可以针对这份宫颈癌数据做调整。# hyp.yaml 局部调整按需修改 hsv_h: 0.02 # 色调扰动不宜过大病理染色有标准色 hsv_s: 0.5 # 饱和度扰动 hsv_v: 0.4 # 亮度扰动 fliplr: 0.5 # 水平翻转概率 mosaic: 1.0 # mosaic 增强开启 mixup: 0.1 # mixup 增强 scale: 0.5 # 尺度缩放范围这里的参数需要解释。hsv_h、hsv_s、hsv_v控制颜色扰动幅度宫颈病理图像经过标准化染色颜色信息本身有诊断意义色调扰动太大会让模型学到错误的颜色不变性所以我习惯把hsv_h压到 0.02 以下只保留一定的明暗和饱和度变化来模拟不同切片厚度造成的色差。mosaic: 1.0是默认开启的它把 4 张图拼接成一张相当于隐式增大了 batch size对小目标检测很有帮助。mixup: 0.1是两张图按比例融合一开始别调太大0.1 足够太大容易让病变区域轮廓变得模糊反而干扰检测。4.2 类别不平衡处理筛选重复样本、难负例挖掘的简单做法宫颈癌数据集的类别不平衡问题体现在两个层面一是病变区域在整张图中的像素占比极低二是如果包含多个类别各类别之间的样本数量可能相差很大。前一种情况靠增强解决后一种情况需要做采样策略。一个常见做法是复制稀少类别的样本若干份让每个 epoch 中它们的出现频率提高。但这个操作要小心直接复制同一个样本会导致模型对那一张图过拟合我的做法是复制后用增强参数让同一张图每次以不同形态出现# 简单示例为某一类样本生成增强副本 import cv2 import numpy as np from pathlib import Path img_dir Path(cervical_dataset/images/train) lab_dir Path(cervical_dataset/labels/train) dup_img Path(extra_train/images/train) dup_lab Path(extra_train/labels/train) dup_img.mkdir(parentsTrue, exist_okTrue) dup_lab.mkdir(parentsTrue, exist_okTrue) for jpg in img_dir.glob(*.jpg): if rare not in jpg.stem: # 只复制标记为 rare 的类别样本 continue img cv2.imread(str(jpg)) h, w img.shape[:2] rotated cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE) out_name jpg.stem _r90.jpg cv2.imwrite(str(dup_img / out_name), rotated) # 标签同步旋转xc,yc 需要转为 1-yc,xc宽高互换 with open(jpg.with_suffix(.txt)) as f: lines f.readlines() with open(dup_lab / (jpg.stem _r90.txt), w) as f: for line in lines: parts line.strip().split() cls parts[0] xc, yc, bw, bh map(float, parts[1:]) f.write(f{cls} {1 - yc:.6f} {xc:.6f} {bh:.6f} {bw:.6f}\n)这段代码做的是对特定类别的样本做 90 度旋转同时把 YOLO 标签同步转换。它的意义在于增加了该类别在训练集中的出现频率但每次出现的形态不同模型不会退化到死记一张图。标签转换的数学逻辑不复杂但容易出错旋转 90 度后图像宽高互换所以框的宽和高要交换中心坐标的 x 分量要变成原来的 yy 分量要变成 1 减去原来的 x方向取决于旋转方向代码里已经按顺时针写好了。4.3 迁移学习与冻结训练先用 COCO 权重还是先跑一遍热启动YOLOv5 的默认--weights yolov5s.pt就是在 COCO 上预训练过的权重这本身就是一种迁移学习。COCO 的 80 类里没有宫颈病变但底层特征提取器学到的是纹理、边缘、形状这些通用特征迁移过来后只需要在高层检测头上做适配。如果你的数据量和当前数据集处在同一量级可以考虑冻结骨干网络前几层只训练后面的检测层减少过拟合python train.py \ --data cervical_dataset/data.yaml \ --weights yolov5s.pt \ --img 640 \ --batch 32 \ --epochs 80 \ --freeze 10 \ --cache ram--freeze 10的含义是冻结模型前 10 层参数这些层基本都在骨干特征提取阶段梯度不会回传到这些层训练速度更快同时保留预训练的底层特征。训练到中期如果 mAP 停滞可以解冻再训或者把 freeze 值调小让更多层参与微调。还有个经验性的做法先以较小的img尺寸比如 480训练一轮让模型快速看到更多样本再用 640 继续精调。这本质上是一种由粗到细的训练策略对稀缺医学图像数据特别管用。缺点是训练过程会复杂一些需要手动控制两段训练的参数衔接。5. 避坑与常见问题排查从路径单斜杠到损失不下降的七个问题5.1 标注文件报错索引越界、路径转义、纵坐标溢出现象训练刚开始终端直接打印IndexError: index 5 is out of bounds for axis 0 with size 5或者随机在某个 epoch 崩溃。原因标签 txt 里的类别编号大于nc值。比如数据集实际只有 1 类但某个 txt 里第一列写着 2模型在计算分类 loss 时按编号索引而类别维度只有 1索引直接越界。另一类常见诱因是 Windows 和 Linux 路径分隔符混用\c被解释成转义字符导致路径找不到。解决批量扫描所有标签文件找出类别编号最大值与data.yaml的nc比对。如果不一致得确认是标签本身错误还是nc配置少了。路径问题则把data.yaml里的路径统一改成相对路径并检查斜杠方向。5.2 验证阶段 mAP 为 0类别编号偏移与 conf 阈值现象训练过程 loss 正常下降train 阶段表现尚可但 val.py 一跑mAP 全部为 0甚至框完全没有画出来。原因最常见的是类别编号偏移。训练集标签里类别是 0验证集标签里同一类却写成了 1模型在验证时找不到匹配的 Ground Truth自然算不出 mAP。还有一种情况是--conf设置过高模型预测置信度普遍在 0.1~0.2 之间但阈值设成 0.5所有框都被过滤掉所以 mAP 归零。解决先用一个小脚本统计训练和验证标签里的类别编号分布确认两边类别编码一致。如果一致把--conf调低到 0.001 重跑验证看框是否出现用排除法锁定问题到底出在数据还是阈值。5.3 训练过程 loss 不降学习率、batch、增强冲突排查现象loss 从开始就停在某个高位震荡或者前 20 个 epoch 缓慢下降后进入平台期怎么等都突破不了。原因三个嫌疑排第一。一是学习率太高梯度在最优解附近来回横跳loss 无法收敛二是 batch 太小每个 step 的梯度方向差异太大三是数据增强中mixup或mosaic过大样本形态过于复杂模型学不到稳定的模式。解决先把增强参数恢复到保守值mixup: 0.0、fliplr: 0.5排除干扰。然后把--batch往上提到能承载的最大值再把初始学习率从默认的 0.01 降到 0.001看 loss 是否开始规律下降。记住一次只改一个变量不然玄学调参最后自己都找不到原因。5.4 数据 loader 卡住worker 数量、shuffle、缓存与内存现象训练前几个 epoch 正常突然某一次迭代停住不动GPU 利用率掉到 0%过几分钟又恢复或者一直卡着不结束。原因YOLOv5 的 DataLoader 默认多进程预取workers数量过高时频繁切换进程导致卡顿或者--cache ram分配了大量内存系统开始使用交换分区磁盘 IO 反而成了瓶颈。解决--workers 4作为基准别盲目调到 16如果内存不是特别充裕不用--cache ram改用默认从磁盘读取。也可以试试--cache disk把数据缓存到本地磁盘速度介于内存和普通读取之间对 8G 内存的小机器比较友好。5.5 推理结果框偏移图像缩放方式与标签坐标不一致现象训练时 mAP 挺高但把权重导出去对单张图片做推理预测框总是偏离目标中心或者框比实际区域大一圈。原因训练和推理阶段的图像预处理不完全一致。YOLOv5 做验证时对输入图像采用 letterbox 方式缩放即等比缩放后填充灰色条如果你在自定义推理脚本里用普通 resize 强行拉伸长宽比变了坐标对应关系自然就错了。解决推理时统一调用 YOLOv5 自带的 letterbox 函数或者直接使用detect.py不要自己另写一套预处理。如果已经做了自定义推理需要把预测框坐标按 letterbox 的反向映射还原到原图尺寸再叠加这个步骤常常被忽略是推理阶段偏移的头号原因。6. 进阶用法用训练好的权重做批量推理与结果落盘沉淀6.1 导出权重与推理detect.py 输出、可视化与参数训练收敛后best.pt就是这份数据集最终的产出物。用它做批量推理有两种路径简单的是直接跑detect.pypython detect.py \ --weights runs/cervical/baseline/weights/best.pt \ --source ./test_images/ \ --img 640 \ --conf 0.25 \ --save-txt \ --save-conf \ --project runs/cervical/inference--save-txt把预测结果输出成 txt 文件每行格式同样是class_id x_center y_center width height conf方便程序读取再跑后处理。--save-conf把置信度一并写入 txt做阈值过滤时省事。如果要把模型投入实际服务还需要把权重导出为更多部署格式。ONNX 是目前最常见的中间格式导出命令为python export.py \ --weights runs/cervical/baseline/weights/best.pt \ --include onnx \ --img 640导出后可以用 ONNX Runtime 做 CPU 推理摆脱 PyTorch 环境依赖。导出的过程中如果遇到算子兼容问题绝大多数情况可以通过固定--opset 12解决再往上调反而容易出问题。6.2 结果归档与二次标注如何沉淀为下一轮数据集推理得到的预测框不应该只是看一眼画上线就结束了。我一般会把置信度高于 0.8 的预测结果自动转换为训练数据补充进下一轮训练集这本质上是 self-training 的思路。做法是把detect.py输出的 txt 重命名成与源图一致的标签文件放进 labels 目录然后重新切分训练验证集开启第二轮训练。这里有一个数据安全性的考量自动生成的伪标签必须经过人工抽检尤其是低置信度区间的结果。医疗场景不比自然图像一个错误标注的代价可能远超模型精度的提升。从那以后我每次在医疗数据上做半自动标注都会强制走一遍人工复核流程先抽检 20% 的自动标注结果确认准确率在可接受范围内才允许整体并入训练集。AI 辅助标注的重点从来不是让模型完全替代人工而是让标注人员从逐框手画中解放出来把精力集中在修正和审核上。这套工作流在拿到这份数据集之后我会反复使用——先跑一轮预训练验证数据质量再调参训练、导出、推理、回标、再训练每一轮数据集的质量都比上一轮更干净。希望这个从数据检查到迭代训练的流程能帮你少走弯路也希望这份数据在你手头能发挥出比在我这里更大的价值。本文还有配套的精品资源点击获取

相关新闻

Oracle 11g R2 Linux静默安装:解决ORA-00845与环境变量失效

Oracle 11g R2 Linux静默安装:解决ORA-00845与环境变量失效

简介:本资源是一份面向Linux系统管理员与Oracle数据库初学者的实战安装指南,聚焦在CentOS/Red Hat等主流Linux发行版上部署Oracle 11g Release 2单机数据库环境的全流程图解。内容覆盖从系统依赖包安装、Oracle用户与环境变量配置,到runInsta…

2026/10/9 22:26:44 阅读更多 →
电影院售票系统并发设计:防超卖与数据一致性实战

电影院售票系统并发设计:防超卖与数据一致性实战

简介:本资源是一份面向高校计算机专业本科生的课程设计实践文档,聚焦电影院售票管理系统的完整开发流程,适用于《数据库系统概论》《软件工程》等课程实验与课程设计参考。文档系统覆盖需求分析、数据字典、E-R概念模型、关系逻辑模型、存储过…

2026/10/11 1:01:56 阅读更多 →
SpringBoot + 微信小程序健康管理系统实战:从登录鉴权到部署上线

SpringBoot + 微信小程序健康管理系统实战:从登录鉴权到部署上线

做互联网开发这几年,医疗健康类的项目我接触过不少,但真正从零完整做完一套“SpringBoot 微信小程序”的健康管理系统,还是有很多值得沉淀的内容。这个系统功能上并不算复杂:用户在小程序端录入自己的体征数据,比如体…

2026/10/9 22:26:44 阅读更多 →

最新新闻

网络内容缓存服务器实战:从架构设计到部署避坑

网络内容缓存服务器实战:从架构设计到部署避坑

/* 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 1:01:13 阅读更多 →
Windows Server上部署Oracle 19c实战指南

Windows Server上部署Oracle 19c实战指南

/* 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 1:01:13 阅读更多 →
工业机器人技术题库docx解析与组卷分析实战

工业机器人技术题库docx解析与组卷分析实战

/* 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 1:01:13 阅读更多 →
STM32寄存器开发实战:从点灯到串口底层原理

STM32寄存器开发实战:从点灯到串口底层原理

/* 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 1:01:13 阅读更多 →
N100真机启动排查:串口日志、NVMe超时与时钟源修复全记录

N100真机启动排查:串口日志、NVMe超时与时钟源修复全记录

/* 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 1:01:13 阅读更多 →
水果识别深度学习实战:从数据到部署的工程落地指南

水果识别深度学习实战:从数据到部署的工程落地指南

简介:这是一套面向计算机相关专业在校学生、教师及初入行开发者的Python深度学习水果识别系统实战项目,专为毕业设计、课程设计与竞赛实践打造。项目基于经典CNN架构实现多类别水果图像分类,含完整可运行源码、详细项目说明文档及配套数据集&…

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

日新闻

流感时间序列预测实战: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/10 5:23:50 阅读更多 →
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 阅读更多 →