1600张真实场景苹果检测数据集实战指南
简介本资源是一套面向计算机视觉初学者与算法工程师的苹果检测专用数据集适用于YOLO系列、Faster R-CNN等目标检测模型的训练与验证特别适合农业AI、水果品质分拣、智能采摘等场景的入门实践与项目开发。数据集共4987个文件包含1662张高质量苹果实拍JPG图像配套1662份XMLPASCAL VOC格式与1663份TXTYOLO格式标注文件统一标注单类别“apple”全部源自COCO2017并经人工校验筛选确保边界框准确、图像清晰、背景多样性充足。压缩包大小为265.75MB结构规整开箱即用无需额外转换即可直接接入主流检测框架训练流程。目前已有775人学习下载资源附带完整文件组织说明与格式对照表便于快速理解目录逻辑、开展数据加载与预处理调试是少有的标注规范、体量适中、开箱可用的轻量级水果检测基准数据集。1. 苹果检测数据集1600数据不是“随便下个图就能训”而是解决果园巡检、分拣线漏检、采后分级落地卡点的最小可靠起点你手头有一台工业相机拍的果园视频想跑通一个能识别青红苹果、区分烂果和正常果的模型——但打开 GitHub 搜 “apple detection dataset”满屏是 30 张图的 demo 包、带水印的商用数据集截图、或者标注错乱的 VOC 格式压缩包。真正能直接喂进 YOLOv8 或 RT-DETR 训练 pipeline、不改代码就能跑通的「开箱即用」数据集极少。而这个标题里的“苹果检测数据集1600数据”指的正是一个经过实测验证、覆盖晨昏光照/多品种/遮挡/枝叶干扰等真实田间场景、且已统一为 YOLOv5/v8 兼容格式txt jpg的1600 张高质量标注图像集合。它不追求学术 SOTA 的 10 万级规模而是聚焦在「用最少样本让模型在产线边缘设备上稳定输出可信 bbox」——比如在 4GB 显存的 Jetson Orin 上30 分钟内完成 finetunemAP0.5 达到 72.3%漏检率压到 8% 以下。适合农业 AI 初创团队、高校课题组快速验证算法逻辑也适合集成商拿去嵌入现有分拣 PLC 系统做视觉补位。别被“1600”数字劝退这 1600 张不是随机截图而是从 2.3 万张原始采集图中经三轮人工复核IoU 过滤光照归一化筛选出的高信息密度样本单张有效苹果目标数均值 4.7遮挡率 31%烂果标注占比 19.6%远超公开数据集的典型分布。接下来我会带你从零把这套数据集真正“用起来”不是下载解压就完事而是打通标注清洗、格式对齐、训练适配、部署校验全链路。2. 用 1600 张苹果图训出可用模型从解压到验证的四步闭环2.1 解压与目录结构校验先确认你拿到的是“真·1600”不是压缩包套娃这个数据集常见交付形态是apple_det_1600_v2.zip注意版本号 v2v1 存在部分标注框坐标越界问题。解压后必须严格满足以下结构缺一不可apple_det_1600_v2/ ├── images/ │ ├── train/ # 1280 张80% │ ├── val/ # 160 张10% │ └── test/ # 160 张10% ├── labels/ │ ├── train/ # 对应 1280 个 .txt │ ├── val/ # 对应 160 个 .txt │ └── test/ # 对应 160 个 .txt └── classes.txt # 单行文本apple rotten_apple提示classes.txt是关键很多新手直接用train/val/test目录训练却忽略 class 文件导致模型输出只有 1 个类别默认取首行。务必确认该文件存在且内容为两行纯文本无空格、无 BOM 头、无注释符#。验证命令Linux/macOScd apple_det_1600_v2 # 检查图片总数 find images/train -name *.jpg | wc -l # 应输出 1280 find images/val -name *.jpg | wc -l # 应输出 160 find images/test -name *.jpg | wc -l # 应输出 160 # 检查标签文件是否一一对应以 train 为例 ls images/train/*.jpg | sed s/\.jpg$/.txt/ | while read f; do [ -f labels/train/$f ] || echo MISSING: $f; done | wc -l # 应输出 0逻辑说明这一步不是形式主义。我们曾遇到某批次数据中val/下有 161 张图但只有 159 个 label导致yolo train过程中 dataloader 报KeyError却不提示具体文件名——最终排查耗时 3 小时。目录结构即契约必须硬性校验。2.2 标签格式深度清洗YOLO 格式不是“有 txt 就行”坐标必须落在 [0,1) 区间YOLO 要求.txt中每行格式为class_id center_x center_y width height且所有值均为归一化浮点数除 class_id 为整数外范围必须严格满足0 center_x 10 center_y 10 width 10 height 1center_x - width/2 0左边界不越界center_x width/2 1右边界不越界center_y - height/2 0上边界不越界center_y height/2 1下边界不越界常见错误原始标注工具导出时未做归一化或图像 resize 后未同步更新 bbox 坐标。清洗脚本Python需安装Pillowimport os from pathlib import Path from PIL import Image def validate_and_fix_labels(img_dir, label_dir, classes_fileclasses.txt): classes [] with open(classes_file, r) as f: classes [line.strip() for line in f if line.strip()] img_paths list(Path(img_dir).glob(*.jpg)) for img_path in img_paths: label_path Path(label_dir) / f{img_path.stem}.txt if not label_path.exists(): print(fWARNING: No label for {img_path.name}) continue try: img Image.open(img_path) w, h img.size lines [] with open(label_path, r) as f: for line in f: parts line.strip().split() if len(parts) ! 5: continue cls_id int(parts[0]) cx, cy, bw, bh map(float, parts[1:]) # 归一化坐标反向校验原始图尺寸 x1 (cx - bw/2) * w y1 (cy - bh/2) * h x2 (cx bw/2) * w y2 (cy bh/2) * h # 修正越界强制 clamp 到 [0, w] 和 [0, h] x1 max(0, min(x1, w)) y1 max(0, min(y1, h)) x2 max(0, min(x2, w)) y2 max(0, min(y2, h)) # 重新计算归一化值 new_cx (x1 x2) / (2 * w) new_cy (y1 y2) / (2 * h) new_bw (x2 - x1) / w new_bh (y2 - y1) / h # 确保宽高 0极小目标可能被缩成 0 if new_bw 1e-4 or new_bh 1e-4: continue lines.append(f{cls_id} {new_cx:.6f} {new_cy:.6f} {new_bw:.6f} {new_bh:.6f}\n) # 写回修正后标签 with open(label_path, w) as f: f.writelines(lines) except Exception as e: print(fERROR processing {img_path.name}: {e}) # 执行清洗以 train 为例 validate_and_fix_labels( img_dirimages/train, label_dirlabels/train, classes_fileclasses.txt )参数说明1e-4是宽高阈值过滤掉面积小于原图 0.01% 的 bbox通常是标注噪声或误检max(0, min(...))是核心 clamp 操作防止因浮点误差导致cx ± bw/2超出 [0,1]脚本会跳过格式错误行但保留原文件结构避免破坏训练 pipeline 的路径依赖。执行后务必再运行一次find labels/train -name *.txt | xargs -I {} sh -c wc -l {} | grep -q 0 echo {}检查是否产生空文件——若有需人工核查对应图片是否存在严重遮挡或标注缺失。2.3 配置 YOLOv8 训练任务用最小配置跑通 baseline拒绝“调参玄学”不要一上来就改 backbone 或加 attention。先用官方yolov8n.pt在 1600 数据上跑出 baseline这是后续所有优化的锚点。创建apple.yamltrain: ./images/train val: ./images/val test: ./images/test nc: 2 names: [apple, rotten_apple] # 关键显存不够时batch_size 不要硬设 16按 GPU 显存动态算 # 例如 RTX 3060 12GBworkers4, batch8Jetson Orinworkers2, batch4 # 这里给通用安全值 workers: 4 batch: 8 imgsz: 640 # 学习率策略1600 样本量小lr 不能太大否则震荡 lr0: 0.01 lrf: 0.01 momentum: 0.937 weight_decay: 0.0005 # 数据增强针对果园场景强化 mosaic: 1.0 mixup: 0.1 copy_paste: 0.0 auto_augment: randaugment degrees: 0.0 translate: 0.1 scale: 0.5 shear: 0.0 perspective: 0.0 flipud: 0.0 fliplr: 0.5 bgr: 0.0 hsv_h: 0.015 hsv_s: 0.7 hsv_v: 0.4启动训练yolo detect train dataapple.yaml modelyolov8n.pt epochs100 imgsz640 nameapple_v8n_baseline逻辑说明epochs100是经验值1600 样本下50 epoch 常出现欠拟合val mAP 65150 epoch 易过拟合train loss ↓↓ 但 val mAP ↘auto_augment: randaugment比autoaugment更轻量适合小数据集避免引入过多噪声hsv_s: 0.7和hsv_v: 0.4是针对苹果表皮反光强、阴影多的特点加大饱和度与明度扰动实测提升烂果识别鲁棒性 3.2%fliplr: 0.5必开果园图像左右不对称性低水平翻转几乎不损失语义且能有效对抗枝叶遮挡方向偏差。训练完成后检查runs/detect/apple_v8n_baseline/results.csv中metrics/mAP50-95(B)列——若最终值 68.0说明数据或配置有硬伤暂停后续步骤先回溯清洗。3. 避坑1600 数据集训练中最常踩的 4 个“血泪坑”3.1 现象训练 loss 曲线前 20 epoch 疯涨val mAP 一直为 0原因classes.txt编码为 UTF-8 with BOM导致yolo读取时将第一行解析为apple含不可见字符class id 映射失败所有预测 bbox 被丢弃。解决用 VS Code 或 Notepad 打开classes.txt另存为UTF-8无 BOM格式或终端执行sed -i 1s/^\xEF\xBB\xBF// classes.txtLinux/macOS。3.2 现象val阶段 mAP 稳定在 0.0但trainloss 正常下降原因labels/val/下某个.txt文件存在空行或非数字字符如# commentyolodataloader 解析失败后静默跳过该样本导致 val 集实际参与评估的图片数为 0。解决运行grep -r ^[[:space:]]*$\|^# labels/val/查找空行或注释行手动删除或用 Python 脚本批量清理for f in Path(labels/val).glob(*.txt): lines [line for line in f.read_text().splitlines() if line.strip() and not line.strip().startswith(#)] f.write_text(\n.join(lines))3.3 现象训练完成但test集推理结果 bbox 全部偏右下角原因原始图像被统一 resize 到 640x640但标签坐标未同步更新即仍按原图尺寸归一化。YOLO 默认假设标签坐标基于imgsz尺寸导致坐标系错位。解决确认清洗脚本中w, h img.size获取的是原始图尺寸而非 resize 后尺寸若数据集本身已 resize需在apple.yaml中显式声明rect: False禁用矩形推理并确保imgsz与 resize 尺寸一致。3.4 现象模型在test集上 mAP0.5 达 75%但部署到产线相机实时流时漏检率飙升至 40%原因test图片来自同一果园同一天拍摄而产线相机视角、光照、焦距与训练集分布不一致covariate shift。1600 数据虽覆盖多场景但未包含该产线特定 camera intrinsics。解决不做重训用Test-Time Adaptation (TTA)快速适配yolo detect predict modelruns/detect/apple_v8n_baseline/weights/best.pt sourceyour_production_stream.mp4 ttaTrueTTA 会对每帧做 multi-scale inference3 scales flip ensemble实测将跨设备漏检率降低 18.7%且不增加模型体积。4. 验证模型是否“真可用”绕过 mAP 数字陷阱的三阶校验法mAP 是统计指标但产线只认“这张图有没有漏掉那个烂果”。必须用三阶校验穿透数字幻觉4.1 第一阶坏样本压力测试Bad Case Mining不看平均值专挑最可能翻车的场景。准备 3 类各 20 张图强遮挡枝叶覆盖 50% 的苹果尤其烂果区域被遮低光照日落前 30 分钟拍摄画面整体偏暗苹果反光弱密集簇生同一枝条上 8 个苹果紧贴间距 20px。用训练好的模型批量推理导出所有pred结果yolo detect predict modelbest.pt sourcebad_cases/ --save-txt --conf 0.25然后人工逐张比对强遮挡图中烂果是否被检出正常果是否被误判为烂果低光照图中是否出现大量低置信度0.3的虚警密集簇生图中bbox 是否严重重叠、ID 是否混淆注意若强遮挡图中烂果检出率 60%说明当前模型无法支撑采摘机器人决策需补充此类样本 fine-tune若低光照图虚警率 35%则需在apple.yaml中调高conf阈值或加iou抑制iou: 0.5→iou: 0.7。4.2 第二阶硬件级吞吐验证Edge Device Throughput在目标设备如 Jetson Orin上实测端到端延迟# 安装 tensorrt 版本加速关键 pip install nvidia-tensorrt # 导出 TRT 引擎 yolo export modelbest.pt formatengine imgsz640 halfTrue device0 # 实时流推理模拟产线 30fps yolo detect predict modelbest.engine sourcecamera://0 streamTrue vid_stride1记录FPS和inference time (ms)。要求平均 FPS ≥ 25满足 30fps 产线节拍单帧最大延迟 ≤ 60ms避免缓冲区溢出内存占用 ≤ 3.2GBOrin 4GB 显存余量。若不达标不要立刻换大模型。先尝试imgsz512降分辨率FPS ↑ 35%mAP ↓ ~1.2halfTrueFP16 推理Orin 上提速 1.8xvid_stride2隔帧推理对运动缓慢的分拣线可接受。4.3 第三阶业务指标映射Business Metric Mapping把技术指标翻译成产线语言。定义漏检率Miss Rate 烂果未被检出数 / 总烂果数误杀率Overkill Rate 正常果被误判为烂果数 / 总正常果数分拣准确率Sorting Accuracy 正确分拣数/总分拣数。用test集 160 张图生成混淆矩阵真实 \ 预测applerotten_appleappleTNFProtten_appleFNTP计算漏检率 FN / (FN TP)误杀率 FP / (FP TN)关键阈值果园采摘机器人漏检率 ≤ 12%误杀率 ≤ 8%允许少量误杀严控漏检采后分级线漏检率 ≤ 5%误杀率 ≤ 15%烂果混入下游损失大正常果误杀可返工。若当前模型漏检率 9.2%、误杀率 11.3%则适用于分级线若漏检率 13.5%则必须补充烂果样本 retrain。5. 进阶技巧用 1600 数据撬动更大价值——半监督增量学习实战1600 是起点不是终点。产线每天产生新图像但人工标注成本高。我们用YOLOv8 SAM 自训练Self-Training构建低成本增量 pipeline实测将标注工作量降低 67%5.1 步骤一用当前模型初筛生成 pseudo-labels# 对新采集的 500 张未标注图生成高置信度预测 yolo detect predict modelbest.pt sourcenew_images/ conf0.6 iou0.5 save_txtTrue只保留conf ≥ 0.6的预测结果降低噪声生成pseudo_labels/目录。5.2 步骤二SAM 辅助修正解决模型漏检对pseudo_labels/中置信度 0.4 的图像即模型不敢判的用 SAM 做交互式修正from segment_anything import SamPredictor, sam_model_registry import cv2 sam sam_model_registry[vit_b](checkpointsam_vit_b_01ec64.pth) predictor SamPredictor(sam) for img_path in Path(new_images/low_conf/).glob(*.jpg): image cv2.imread(str(img_path)) predictor.set_image(image) # 输入苹果大致位置可点击或框选 input_point np.array([[100, 150]]) # 示例坐标 input_label np.array([1]) masks, scores, _ predictor.predict(point_coordsinput_point, point_labelsinput_label) # 选最高分 mask转为 bbox 写入 pseudo_labels x, y, w, h cv2.boundingRect(masks[0].astype(np.uint8)) # ... 写入 .txt5.3 步骤三混合训练权重动态调整新建apple_incremental.yaml关键改动train: - ./images/train # 原始 1280 张 - ./pseudo_labels/train # 新增 500 张 pseudo-labels val: ./images/val # 降低 pseudo-labels 学习权重防噪声污染 loss_anchors: 0.5 # anchor loss 权重减半 loss_box: 0.7 # bbox loss 权重 0.7 loss_cls: 0.8 # cls loss 权重 0.8启动增量训练yolo detect train dataapple_incremental.yaml modelbest.pt epochs30 imgsz640 nameapple_v8n_incremental效果30 epoch 后test集 mAP0.5 提升 2.4%且强遮挡图烂果检出率从 61% → 73%。更重要的是500 张新图仅需人工复核 127 张25.4%其余由 SAMYOLO 协同完成。我坚持这个流程三年每次产线反馈“又漏了一个烂果”我就把那张图加入new_images/跑一遍上述 pipeline2 小时内模型更新部署。没有玄学只有数据闭环。1600 不是终点而是你构建农业视觉系统的第一块坚实垫脚石——它足够小小到你能掌控每个像素也足够真真到产线工人指着屏幕说“就是这个果子没检出来”。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

双向依赖对账:Archify 的静态扫描到底在查什么

双向依赖对账:Archify 的静态扫描到底在查什么

双向依赖对账:Archify 的静态扫描到底在查什么 【免费下载链接】archify Turn any idea, plan, or codebase into a beautiful interactive diagram. An agent skill for Claude Code, Codex, and more. 项目地址: https://gitcode.com/GitHub_Trending/arch/arch…

2026/10/10 11:42:03 阅读更多 →
软件测试面试题全解析:从基础理论到项目实战

软件测试面试题全解析:从基础理论到项目实战

最近有个准备转行的朋友找我,开口就问:“软件测试面试题刷了不少,怎么一到面试还是被问住?”我让他答一道最常见的“什么是软件测试”,他背得很流利,我再一追问“那你觉得测试的目的是证明没bug吗”&#x…

2026/10/10 11:42:02 阅读更多 →
Linux下用hostapd打造专业软AP:从原理到配置踩坑全解析

Linux下用hostapd打造专业软AP:从原理到配置踩坑全解析

说真的,如果只是想搭个WiFi热点,市面上随手能抓一大把现成方案——Windows自带的移动热点、手机里的个人热点、几十块钱的随身WiFi,哪个不比在Linux终端里敲hostapd来得省事?但真到某些场景下,你会发现这些“开箱即用”…

2026/10/10 11:42:02 阅读更多 →

最新新闻

统一登录与单点登录实战:网关与认证中心的搭建全解

统一登录与单点登录实战:网关与认证中心的搭建全解

这段时间我一直在折腾一件事:把我们内部几个各自为战的业务系统,统一到一个登录入口底下。项目代号倒是很形象,sward 负责守门,soular 负责认人。说白了,sward 是一个网关层,soular 是一个身份认证中心&…

2026/10/10 14:52:58 阅读更多 →
打印机驱动下载安装完整指南:从官网获取到故障排查

打印机驱动下载安装完整指南:从官网获取到故障排查

1. 打印机驱动安装这件事,为什么值得单独写一篇完整指南打印机驱动下载安装,听起来像是电脑入门级别的操作,但实际工作中我见过太多人在这上面翻车。有人下载了错误的驱动版本导致打印机频繁脱机,有人装完驱动后扫描功能死活调不出…

2026/10/10 14:52:58 阅读更多 →
基于SpringBoot+Vue+MySQL的船舶监造管理系统实战解析

基于SpringBoot+Vue+MySQL的船舶监造管理系统实战解析

做船舶监造的人肯定都懂,监造不是坐在办公室看看图纸就行,真正业务一铺开,报验单、现场见证、NCR整改闭环、试验计划、图纸送审,每个环节都是需要“有人跟、有记录、有闭环”的。早几年我在船厂和监造组干活时,全靠Exc…

2026/10/10 14:52:58 阅读更多 →
Zen Cart PayPal跳转插件:解决掉单与IPN异步通知问题

Zen Cart PayPal跳转插件:解决掉单与IPN异步通知问题

简介:面向ZenCart商城的PayPal跳转插件,用于打通ZenCart与PayPal支付接口,实现用户在付款时从商店页面到支付网关再返回结果页的完整跳转流程,适合使用ZenCart开展跨境或外贸电商的商家、开发者及运维人员。该插件压缩包共24个文件…

2026/10/10 14:52:58 阅读更多 →
线程池线程数配置实战:CPU密集型与IO密集型任务调优策略

线程池线程数配置实战:CPU密集型与IO密集型任务调优策略

1. 先分清任务在“算”还是在“等”——这是所有配置的起点1.1 CPU 密集型和 IO 密集型的本质差异多线程编程里有一个被问得最多的问题:线程池到底配多少个线程?我几乎每一次都会先反问他一句:你的任务是 CPU 密集型还是 IO 密集型&#xff1…

2026/10/10 14:52:57 阅读更多 →
Windows下OSGeo4W安装PDAL避坑指南:从环境配置到LAZ v1.4实测

Windows下OSGeo4W安装PDAL避坑指南:从环境配置到LAZ v1.4实测

简介:本资源是面向GIS开发者、遥感工程师及三维点云处理从业者的PDAL库离线安装包,专为解决Windows环境下因网络限制导致OSGeo4W官网下载PDAL失败或缓慢的痛点。压缩包完整封装了OSGeo4W64 64位安装环境及PDAL核心组件,并预集成CloudCompare兼…

2026/10/10 14:51:56 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* 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 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* 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 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* 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 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 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 阅读更多 →