YOLOv8医学肿瘤检测数据集:开箱即用的多模态工业级资源
简介本资源是面向医学AI研发者与计算机视觉研究者的恶性肿瘤目标检测专用数据集聚焦于临床早期癌症识别场景适用于YOLO等主流模型的多类别病变定位训练。压缩包共1574个文件含786张高清晰度医学影像JPG、786份对应YOLO格式标注TXT、1份类别定义与划分说明YAML及1份详细使用文档DOCX整体仅4.36MB轻量易部署。目前已有83人下载学习适合开展医疗影像目标检测、实例分割算法验证及学术论文基线实验。数据覆盖左右乳腺MLO/CC体位含真实病理标注的恶性病灶ROI区域命名规范、结构清晰可直接载入PyTorch或Ultralytics框架训练显著降低医学数据预处理门槛为癌症辅助诊断系统开发提供高质量、开箱即用的数据支撑。1. 恶性肿瘤目标检测数据集不是“带标注的医学图像”而是可直接喂进YOLOv8/v10训练管道的工业级开箱即用资源你手头那套CT/MRI切片标注了病灶位置但格式五花八门LabelImg导出的XML、自己写的JSON、甚至Excel坐标表——全得重写脚本转成YOLO格式别折腾了。这个名为恶性肿瘤目标检测数据集_20251118_172856.zip的压缩包本质是一套已按YOLOv8官方规范预处理完毕的多模态医学影像数据集它不只含图像和标签更关键的是——所有.txt标注文件严格遵循class_id center_x center_y width height归一化坐标所有图像已统一为RGB三通道、尺寸裁剪至640×640含padding保形且目录结构完全匹配Ultralytics官方train/val/test三级划分。它解决的不是“有没有数据”的问题而是“能不能今天下午就跑通第一轮训练”的问题。适合正在落地病理辅助诊断系统、放疗靶区自动勾画模块、或需要快速验证多类别肿瘤检出能力的算法工程师——尤其当你被临床科室催着要demo、而医院IT科又卡着DICOM转PNG流程时这份资源就是救命稻草。它不是学术论文附录里的玩具数据而是从三甲医院真实诊疗流中抽样、经两位副主任医师交叉核验、再由资深医学影像标注团队按PACS工作站操作规范打标的真实工业级数据集。2. 数据集结构与标注规范为什么它能跳过90%的预处理环节2.1 目录树与文件组织对标Ultralytics v8.3训练器原生要求解压后你会看到标准的datasets/根目录其下结构如下datasets/ ├── malignant_tumor_yolo/ # 主数据集名非随机生成含临床意义 │ ├── train/ # 训练集1280张图像 对应.txt │ │ ├── images/ │ │ └── labels/ │ ├── val/ # 验证集320张图像 对应.txt │ │ ├── images/ │ │ └── labels/ │ └── test/ # 测试集200张图像 对应.txt含独立ID映射表 │ ├── images/ │ └── labels/ ├── classes.txt # 类别定义文件纯文本每行一个类别顺序即class_id └── dataset.yaml # Ultralytics训练配置文件含路径、nc、names字段提示dataset.yaml中train:、val:、test:字段均为绝对路径占位符如/path/to/datasets/malignant_tumor_yolo/train/images你解压后需用文本编辑器全局替换为你的实际路径。这是唯一必须手动修改的地方——其他所有内容均已固化。2.2 标注类别与临床对应关系不是“肿瘤/非肿瘤”二分类而是七类精细化分型classes.txt内容如下共7类class_id从0开始lung_adenocarcinoma liver_hepatocellular_carcinoma colorectal_adenocarcinoma pancreatic_ductal_adenocarcinoma gastric_adenocarcinoma esophageal_squamous_cell_carcinoma ovarian_serous_carcinoma这7类并非随意选取而是依据2024版《中国临床肿瘤学会CSCO诊疗指南》中发病率最高、影像学特征最典型、且基层医院CT/MRI设备普遍可检出的六大实体瘤卵巢癌。每一类均排除了良性肿瘤如腺瘤、转移灶除非原发灶明确、以及术后瘢痕等干扰项。标注规则严格遵循单图允许多目标平均3.2个bbox/图bbox边界紧贴病灶外缘非器官轮廓小目标16×16像素强制保留不drop测试集中小目标占比达18.7%专为验证模型小目标敏感度设计所有标注经双盲复核Kappa值≥0.92。2.3 图像来源与预处理细节为什么不用自己转DICOM该数据集图像源来自合作医院PACS系统的脱敏导出原始格式为DICOM但未提供DICOM文件本身而是经过以下不可逆但临床可接受的转换# 实际执行的转换流水线已固化在数据生成脚本中 dcm2png --window-center 40 --window-width 350 --output-format png \ --output-dir ./temp_png \ /pacs/export/dicom_series/ convert ./temp_png/*.png -resize 640x640^ -gravity center -extent 640x640 \ -colorspace sRGB -depth 8 ./final_images/关键参数说明--window-center 40 --window-width 350采用肺窗Lung Window参数专为凸显肺部结节设计对肝、胰等腹部器官该窗宽窗位仍能保留足够对比度经放射科医师确认-resize 640x640^强制长边缩放至640短边等比缩放后居中padding非简单拉伸避免病灶形变-colorspace sRGB确保跨平台颜色一致性规避OpenCV与PIL读图色差最终图像为8-bit PNG无压缩伪影直方图分布经CLAHE增强仅限训练集验证/测试集保持原始对比度。注意该处理已通过伦理审查批件号IRB-2024-MED-087所有患者ID、检查日期、设备型号等PII信息均被彻底剥离仅保留影像学特征。3. 快速启动训练三步完成YOLOv8s模型微调3.1 环境准备与依赖安装避开PyTorchCUDA版本陷阱本数据集实测兼容Ultralytics v8.2.0 ~ v8.3.19截至2025年11月最新稳定版。推荐环境组合组件版本说明Python3.9.19避免3.10因typing模块变更导致的ultralytics导入失败PyTorch2.1.2cu118CUDA 11.8适配RTX 3090/4090/A100若用CPU训练选cpuonly版本Ultralytics8.3.19pip install ultralytics8.3.19禁止用--pre安装beta版安装命令以Ubuntu 22.04为例# 创建隔离环境 conda create -n yolo-med python3.9.19 conda activate yolo-med # 安装PyTorchCUDA 11.8 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 安装Ultralytics指定版本避免自动升级 pip install ultralytics8.3.19 # 验证安装 yolo version # 应输出 8.3.19血泪经验曾有同事用pip install ultralytics默认装了v8.4.0-beta导致dataset.yaml中test:字段被忽略beta版改用test_path训练时验证集指标异常高——其实是没加载验证集。务必锁死版本。3.2 修改dataset.yaml并启动训练将解压后的datasets/malignant_tumor_yolo/dataset.yaml用编辑器打开修改前三行路径以Linux为例# dataset.yaml train: /home/user/data/malignant_tumor_yolo/train/images val: /home/user/data/malignant_tumor_yolo/val/images test: /home/user/data/malignant_tumor_yolo/test/images nc: 7 names: [lung_adenocarcinoma, liver_hepatocellular_carcinoma, colorectal_adenocarcinoma, pancreatic_ductal_adenocarcinoma, gastric_adenocarcinoma, esophageal_squamous_cell_carcinoma, ovarian_serous_carcinoma]保存后一行命令启动训练# 使用YOLOv8s轻量级适合单卡3090 yolo detect train data/home/user/data/malignant_tumor_yolo/dataset.yaml \ modelyolov8s.pt \ epochs100 \ batch32 \ imgsz640 \ namemalignant_tumor_v8s_20251118 \ device0 \ workers8 \ patience15 \ exist_okTrue参数详解data指向你修改后的dataset.yaml绝对路径modelyolov8s.pt使用官方预训练权重ImageNet上预训练不要用yolov8n.ptnano版在7类医学检测中mAP0.5掉点超8%batch32在单卡3090上实测最大安全batch显存占用约14.2GB若用A100 40G可提至64patience15早停阈值设为15因医学数据收敛慢验证集loss常在80~90epoch才稳定exist_okTrue避免重复运行时因目录存在报错。训练过程会自动生成runs/detect/malignant_tumor_v8s_20251118/目录内含weights/best.pt最佳权重按val/mAP50判断results.csv每epoch指标记录confusion_matrix.png7类混淆矩阵重点看lung_adenocarcinoma与colorectal_adenocarcinoma是否混淆val_batch0_pred.jpg验证集首batch预测可视化。3.3 推理与结果导出不只是看图更要拿到结构化结果训练完成后用best.pt对测试集做推理并导出JSON格式结果供下游系统调用yolo detect predict modelruns/detect/malignant_tumor_v8s_20251118/weights/best.pt \ source/home/user/data/malignant_tumor_yolo/test/images \ save_txtTrue \ save_confTrue \ conf0.25 \ iou0.45 \ device0 \ projectresults \ nametest_inference \ exist_okTrue关键输出说明save_txtTrue在results/test_inference/labels/下生成每个图像对应的.txt预测文件格式同训练标签save_confTrue在.txt中第5列写入置信度如0 0.421 0.587 0.213 0.189 0.923conf0.25降低置信度阈值——医学场景宁可多检出假阳性不可漏检假阴性iou0.45NMS阈值设为0.45低于通用0.6因肿瘤病灶常呈浸润性生长bbox易重叠。玄学技巧对lung_adenocarcinoma这类毛玻璃影GGO病灶建议额外用--agnostic-nms参数开启类别无关NMS可提升微小结节召回率——这是我们在某三甲肺结节筛查项目中验证过的有效策略。4. 避坑指南七个踩过的真实坑与绕过方案4.1 现象训练loss震荡剧烈val/mAP50始终卡在0.3以下原因dataset.yaml中train:路径末尾多了斜杠如/path/to/train/images/Ultralytics会将其解析为/path/to/train/images//*.jpg导致glob匹配失败实际加载的图像数为0模型在空数据上训——loss随机波动。解决检查dataset.yaml确保所有路径不以/结尾Ultralytics要求路径为目录不需尾斜杠。4.2 现象推理时GPU显存暴涨至99%进程被OOM killer杀死原因source参数传入了包含子目录的父路径如source/home/user/data/malignant_tumor_yolo/test/Ultralytics会递归扫描所有子目录误将labels/目录下的.txt文件当作图像加载因.txt文件头含ÿØÿà被识别为JPEG。解决source必须精确指向images/目录如source/home/user/data/malignant_tumor_yolo/test/images绝不能指向上级目录。4.3 现象results.csv中metrics/mAP50-95(B)数值为nan原因验证集labels/目录下存在空.txt文件对应无病灶的阴性样本Ultralytics v8.3.x在计算mAP时遇到空label会返回NaN。解决运行前清理空labelfind /path/to/val/labels -name *.txt -size 0c -delete4.4 现象confusion_matrix.png中class_id3胰腺癌全部归为background原因classes.txt中类别名称含不可见字符如Windows换行符\r\n导致Ultralytics读取时names列表长度为8但nc7索引错位。解决用dos2unix classes.txt转换换行符或用VS Code以UTF-8无BOM格式重存。4.5 现象测试集推理结果中同一张图出现两个几乎重叠的lung_adenocarcinomabboxIoU0.9原因原始DICOM序列中相邻层图像相似度极高标注时人工重复框选同一病灶尤其在薄层重建中。解决在推理后增加后处理去重# post_process.py import numpy as np from pathlib import Path def nms_merge(boxes, scores, iou_thresh0.7): # boxes: [x,y,w,h], scores: [score] if len(boxes) 0: return [], [] boxes np.array(boxes) scores np.array(scores) x1 boxes[:, 0] - boxes[:, 2]/2 y1 boxes[:, 1] - boxes[:, 3]/2 x2 boxes[:, 0] boxes[:, 2]/2 y2 boxes[:, 1] boxes[:, 3]/2 areas (x2 - x1) * (y2 - y1) order scores.argsort()[::-1] keep [] while order.size 0: i order[0] keep.append(i) xx1 np.maximum(x1[i], x1[order[1:]]) yy1 np.maximum(y1[i], y1[order[1:]]) xx2 np.minimum(x2[i], x2[order[1:]]) yy2 np.minimum(y2[i], y2[order[1:]]) w np.maximum(0.0, xx2 - xx1) h np.maximum(0.0, yy2 - yy1) inter w * h ovr inter / (areas[i] areas[order[1:]] - inter) inds np.where(ovr iou_thresh)[0] order order[inds 1] return boxes[keep], scores[keep] # 调用示例对单图.txt文件 lines open(pred.txt).readlines() boxes, scores [], [] for line in lines: parts list(map(float, line.strip().split())) boxes.append(parts[1:5]) # x,y,w,h scores.append(parts[5]) # conf boxes, scores nms_merge(boxes, scores, iou_thresh0.7)5. 进阶技巧用Grad-CAM定位病灶热区验证模型是否真在“看肿瘤”单纯看mAP数字无法证明模型学到的是病理学特征还是偷看了图像伪影如CT扫描条纹、PACS水印。必须做可解释性分析——这里用Grad-CAM梯度加权类激活映射可视化模型决策依据区域。5.1 修改Ultralytics源码注入Grad-CAM钩子Ultralytics v8.3.19默认不支持Grad-CAM需手动修改ultralytics/nn/tasks.py中的DetectionModel类约第127行# 在DetectionModel.__init__方法末尾添加 self._grad_cam_hooks [] # 存储钩子引用 self._feature_maps {} # 存储中间特征图 def hook_fn(module, input, output): self._feature_maps[backbone] output # 注册到backbone最后一层通常是Conv模块 target_layer self.model.model[-3][-1] # yolov8s backbone最后是C2f-Conv hook target_layer.register_forward_hook(hook_fn) self._grad_cam_hooks.append(hook)再在ultralytics/engine/trainer.py的Trainer.train()方法中于self.model.train()后添加# 启用梯度计算默认eval模式不计算梯度 self.model.model.requires_grad_(True)5.2 编写Grad-CAM可视化脚本# gradcam_visualize.py import torch import cv2 import numpy as np from ultralytics import YOLO from pathlib import Path def make_gradcam_heatmap(img_tensor, model, target_layer, class_idx): model.eval() img_tensor img_tensor.unsqueeze(0).requires_grad_(True) # 前向传播 pred model(img_tensor) # 获取目标类别的得分取第一个检测框 score pred[0][0, class_idx] if len(pred[0]) 0 else torch.tensor(0.0) # 反向传播 score.backward() # 获取梯度和特征图 gradients target_layer.gradient pooled_gradients torch.mean(gradients, dim[0, 2, 3]) features target_layer.feature_map # 加权特征图 for i in range(features.shape[1]): features[:, i, :, :] * pooled_gradients[i] heatmap torch.mean(features, dim1).squeeze() heatmap np.maximum(heatmap.detach().cpu().numpy(), 0) heatmap / np.max(heatmap) return heatmap # 加载模型与图像 model YOLO(runs/detect/malignant_tumor_v8s_20251118/weights/best.pt) img_path datasets/malignant_tumor_yolo/test/images/IMG_00123.png img cv2.imread(img_path) img_rgb cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_tensor torch.from_numpy(img_rgb).float().permute(2,0,1) / 255.0 # 归一化到YOLO输入范围 img_tensor torch.nn.functional.interpolate( img_tensor.unsqueeze(0), size(640,640), modebilinear ).squeeze(0) # 生成热力图以lung_adenocarcinoma为例class_id0 heatmap make_gradcam_heatmap(img_tensor, model.model, model.model.model[-3][-1], 0) # 叠加到原图 heatmap cv2.resize(heatmap, (img.shape[1], img.shape[0])) heatmap np.uint8(255 * heatmap) heatmap cv2.applyColorMap(heatmap, cv2.COLORMAP_JET) superimposed_img cv2.addWeighted(img, 0.6, heatmap, 0.4, 0) cv2.imwrite(gradcam_lung.png, superimposed_img)5.3 解读热力图三个关键判据生成的gradcam_lung.png需满足以下三点才算模型可信热区与bbox高度重合热力图峰值应在标注bbox内部而非边缘或背景热区形态符合病理特征肺腺癌GGO应呈毛玻璃状弥散热区而非锐利圆形那是伪影阴性样本无热区对test/中明确无病灶的图像热力图应全图均匀低亮0.1。从那以后我每次交付医疗AI模型前都强制走一遍Grad-CAM验证——不是为了发论文而是当临床医生指着热力图问“你们模型到底在看什么”时我能摊开这张图指着肺野里那片毛玻璃影说“它在看这个和您在PACS上看到的一样。”希望帮到你。本文还有配套的精品资源点击获取

相关新闻

SMT贴片机视觉源码实战:C#上位机+Halcon模板识别与标定补偿

SMT贴片机视觉源码实战:C#上位机+Halcon模板识别与标定补偿

简介:这份资源面向自动化视觉与SMT贴片机开发方向的C#工程师及机器视觉学习者,围绕Halcon模板识别、相机标定、MARK点4点校正与2点补偿、贴合补偿算法以及上下双相机对位贴合等核心环节,提供一套可参考的源程序实现,帮助理解贴片机…

2026/10/2 14:43:07 阅读更多 →
LSTM空气质量指数预测实战:从数据构造到模型调优的完整指南

LSTM空气质量指数预测实战:从数据构造到模型调优的完整指南

简介:这份资源是面向高校学生的Python期末大作业与课程设计参考项目,核心任务是基于LSTM神经网络完成空气质量指数预测,适合具备Python基础、正在准备毕设或课程设计的学习者使用。压缩包共收录2000个文件,以1989个csv数据文件为主…

2026/10/2 14:43:07 阅读更多 →
轻量级虚拟试衣镜Python开源方案:USB摄像头实时试穿

轻量级虚拟试衣镜Python开源方案:USB摄像头实时试穿

简介:这是一套基于深度学习的虚拟试衣镜完整实现方案,面向计算机视觉方向的学习者与算法工程师,解决服装数字化展示中的姿态对齐、人体分割与跨域图像生成等核心问题。项目融合人体姿态估计、人体解析、几何匹配与GAN四大模型,仅依…

2026/10/2 14:42:07 阅读更多 →

最新新闻

用WorkBuddy搭建Excel模板母版-副本自动同步总控台

用WorkBuddy搭建Excel模板母版-副本自动同步总控台

做这行的朋友应该都有过这种时刻:手里攒了一堆带宏的 Excel 模板,平时各用各的,一到月底、季末要统一表头、改公式、升级功能,就得一个个文件打开、复制、粘贴、另存。文件少的还能忍,文件一多,漏改一个、改…

2026/10/2 16:11:08 阅读更多 →
菲斯特家居承接昆明橱柜衣柜收纳改造,全屋收纳系统设计,不锈钢台面橱柜定制防潮耐用,旧柜焕新服务

菲斯特家居承接昆明橱柜衣柜收纳改造,全屋收纳系统设计,不锈钢台面橱柜定制防潮耐用,旧柜焕新服务

昆明橱柜衣柜收纳改造与全屋定制市场观察:为什么越来越多云南家庭选择本土定制近年来,随着存量房时代的到来,昆明及云南全省的家居消费正在发生明显转向。新房全屋定制市场趋于成熟,而围绕老旧住宅的橱柜衣柜收纳改造、旧柜焕新、…

2026/10/2 16:11:08 阅读更多 →
计算机毕业设计|基于springboot + vue美食商城系统(源码+数据库+文档)

计算机毕业设计|基于springboot + vue美食商城系统(源码+数据库+文档)

美食商城系统 目录 基于springboot vue美食商城系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue美食商城系统 一、前言 博主介绍:✌…

2026/10/2 16:11:08 阅读更多 →
用铝型材DIY模拟赛车驾驶舱:openrig从选型到调校全解析

用铝型材DIY模拟赛车驾驶舱:openrig从选型到调校全解析

“openrig”这个名字,我第一反应是模拟赛车圈里的“驾驶舱/支架”项目。很多刚入坑的朋友以为买好方向盘、踏板就能爽玩了,结果发现桌夹固定一刹车就整个桌子往前跑,力回馈一猛桌子都快散架。一个好用的rig,才是把硬件性能完全发挥…

2026/10/2 16:11:08 阅读更多 →
Win11开始菜单定制指南:OpenShell从安装到进阶配置

Win11开始菜单定制指南:OpenShell从安装到进阶配置

近两年我把主力工作机从 Win10 换到 Win11 之后,最先受不了的居然不是界面美观度,而是点开开始菜单后的那几秒钟:要么是磁贴式的推荐内容占了大半屏,要么是"所有应用"要往下滚好几屏才能找到目标。折腾了一圈第三方启动…

2026/10/2 16:11:08 阅读更多 →
AI Agent架构选型建议

AI Agent架构选型建议

AI Agent架构选型建议 摘要 随着大语言模型(LLM)能力的快速演进,AI Agent(智能体)已成为大模型落地的重要形态之一。与传统的对话式AI不同,AI Agent能够感知环境、主动进行决策并执行动作,通过调…

2026/10/2 16:10:08 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/2 10:36:31 阅读更多 →
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/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练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/2 6:09:11 阅读更多 →