ORA-6544[pevm_peruws_callback-1][604] 报错溯源:从 open_cursors 到 ORA-1000 的排查路径与 TaoToken 统一 Key 通道实践
1. ORA-6544 报错现场还原pevm_peruws_callback 线程与 open_cursors 的连锁反应先说清楚这个报错到底是什么。ORA-6544 本身不是一个独立病因它更像一个传令兵——真正的问题藏在它携带的方括号参数里。当你看到ORA-6544[pevm_peruws_callback-1][604]这行日志含义是一个名为pevm_peruws_callback-1的后台回调线程在执行过程中触发了 ORA-604而 ORA-604 的下一层是 ORA-1000maximum open cursors exceeded。换句话说游标耗尽这件事发生在了一个你平时不太关注的内部回调线程里而不是普通的前台会话。pevm_peruws_callback这个名字拆开看pevm属于并行执行Parallel Execution相关的内核模块前缀peruws通常和并行从属进程的工作区/回调机制相关。它不是一个用户会话所以你用v$session按用户名去捞往往捞不到直接肇事者。这也是很多人第一次遇到时懵掉的原因——明明业务侧没报错alert.log 里却反复刷 ORA-6544。Doc ID 2638095.1 给出的成因线索很直接当 open_cursors 达到上限后就会以 ORA-6544 的形式暴露出来。而 incident 文件里的 error stack dump with barriers 段落会同时记录 ORA-604 和 ORA-1000形成一条完整的证据链。适用版本是 12.2.0.1 及以后。我先把这条链路的逻辑讲透方便你后面排查时心里有数第一层某个会话或后台线程打开的游标数逼近open_cursors参数值。第二层递归 SQLrecursive SQL需要再开一个游标但配额已满抛 ORA-1000。第三层递归 SQL 层面的失败被包装成 ORA-604error occurred at recursive SQL level 1。第四层这个 ORA-604 发生在pevm_peruws_callback-1线程上下文里最终以 ORA-6544 写入 alert.log。所以排查方向不是去修 ORA-6544而是找到谁把游标吃光了以及为什么回调线程会撞上这个上限。这篇就按这个思路从参数查询、告警日志定位、incident 文件解析一路走到验证最后再讲怎么用 TaoToken 统一 Key 通道把多工具调用的凭证管起来方便团队复现和归档。适合谁看日常要盯 Oracle 告警日志的 DBA、做数据库巡检的运维、以及需要在多套环境里反复复现这个报错的测试同学。你不需要是内核专家但得会用 SQL*Plus 或 SQL Developer 连库。2. TaoToken 前置准备统一 Key 通道与多工具凭证管理在正式排查之前我想先聊一个容易被忽略但很影响效率的问题排查这类连锁报错时你往往要同时开好几个工具——SQL 客户端、日志分析脚本、文档检索、甚至让 AI 助手帮你解读 incident 文件。每个工具都要配一套凭证环境一多就乱。TaoToken 在这里的作用就是把这些调用收敛到一个统一的 Key/API 通道上。TaoToken 是什么、能做什么它是一个统一的大模型 API 接入与 Key 管理平台把不同模型的调用凭证、Base URL、模型 ID 集中管理。适合需要在多个工具命令行、IDE 插件、脚本里复用同一套凭证的团队。官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 这个不加 UTM。为什么排查 Oracle 报错会扯到它因为实际工作里你大概率会用 AI 辅助去读 Doc ID 2638095.1 这类英文文档、解析 incident 文件里的堆栈、生成排查 SQL。如果每个工具单独配 Key团队里几个人复现时就会出现我这能跑你那不能跑的尴尬。统一通道之后Base URL、Key、Model ID 三件套固定下来谁复现都是同一套配置。前置准备分三步走第一步拿到你的 Key。进入控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 在 API Keys 页面创建或查看已有 Key。建议按用途分 Key比如oracle-troubleshoot单独一个方便后面按项目归档和吊销。第二步确认你要用的模型 ID。如果你只是做文档解读和 SQL 生成选一个通用对话模型即可如果要做长期的排查脚本维护、Agent 式自动化可以考虑 Coding Plan 通道 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 它更适合持续性的编码任务。第三步把三件套记下来后面配置里会反复用到配置项值说明Base URLhttps://taotoken.net/api所有请求的统一入口API Key控制台生成按项目分 Key便于吊销Model ID控制台模型列表按任务类型选择这里要提醒一句TaoToken 是凭证与调用通道的管理层它不替代你的数据库客户端也不碰你的生产库。排查 Oracle 的活还是 SQL*Plus、告警日志、incident 文件来干TaoToken 只是让你在调用 AI 辅助工具时凭证统一、可归档。如果你用的是 Claude Code 这类命令行工具接入时同样填这三件套具体可参考接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。文档里有各客户端的配置示例照着改 Base URL 和 Key 就行。3. 可复制配置open_cursors 查询 SQL 与工具接入片段这一节给你能直接复制粘贴的东西。先解决数据库侧的参数查询再给工具侧的配置片段。3.1 查询当前 open_cursors 设置与使用情况连上库之后第一件事是看参数当前值。注意open_cursors是会话级可继承的参数但通常按系统级设置-- 查看当前 open_cursors 参数值 SHOW PARAMETER open_cursors; -- 或者用 v$parameter 精确查询 SELECT name, value, isdefault, description FROM v$parameter WHERE name open_cursors;isdefault为 TRUE 说明你还在用默认值12.2 默认通常是 300这在高并发或大量递归 SQL 的场景下很容易不够。接着看当前各会话的游标占用找出吃游标大户-- 按会话统计打开的游标数降序排列 SELECT s.sid, s.serial#, s.username, s.program, s.status, COUNT(*) AS cursor_count FROM v$open_cursor oc JOIN v$session s ON oc.sid s.sid GROUP BY s.sid, s.serial#, s.username, s.program, s.status ORDER BY cursor_count DESC FETCH FIRST 20 ROWS ONLY;如果你怀疑是某个 SQL 反复解析导致游标堆积可以进一步看具体 SQL 文本-- 查看游标数最多的 SQL 文本 SELECT oc.sql_id, COUNT(*) AS cnt, MAX(oc.sql_text) AS sample_sql FROM v$open_cursor oc GROUP BY oc.sql_id ORDER BY cnt DESC FETCH FIRST 10 ROWS ONLY;这里有个坑v$open_cursor里包含 PL/SQL 隐式游标和递归 SQL 的游标数量会比v$session里看到的显式打开多。所以统计值偏高是正常的重点看趋势和头部会话。3.2 调整 open_cursors 并重启Doc ID 2638095.1 的建议是提高open_cursors并重启数据库。注意open_cursors是静态参数改完必须重启才生效-- 修改为更高的值比如 1000按你的实际负载评估 ALTER SYSTEM SET open_cursors 1000 SCOPE SPFILE; -- 确认已写入 spfile SHOW PARAMETER open_cursors;改完重启实例-- 以 sysdba 身份执行 SHUTDOWN IMMEDIATE; STARTUP;重启后再次SHOW PARAMETER open_cursors确认新值生效。这里不要盲目往大了调先按 3.1 的统计结果评估峰值一般给到峰值的 1.5 到 2 倍比较稳妥。3.3 工具侧接入片段以 settings 风格为例如果你用支持 JSON 配置的客户端把三件套写进去路径按你本地实际配置文件位置来。下面是一个通用结构示例{ provider: taotoken, base_url: https://taotoken.net/api, api_key: 你的Key, model: 你的ModelID, timeout: 60 }如果你用的是 TOML 风格的配置部分命令行工具用这种对应写法[provider.taotoken] base_url https://taotoken.net/api api_key 你的Key model 你的ModelID timeout 60关键点Base URL 必须是https://taotoken.net/api不要带多余路径Key 和 Model ID 从控制台取。三件套齐全工具才能正常发起请求。缺任何一个后面验证环节就会报错第 5 节会专门讲这些报错怎么对。4. 验证请求与成功结果告警日志定位与 incident 文件解析配置改完、参数调完怎么确认问题真的解决了这一节给你完整的验证链路。4.1 定位 alert.log 里的 ORA-6544先找到告警日志位置。不同版本和平台路径不同用下面这条 SQL 直接问数据库-- 查询诊断目标12c 及以后 SELECT value FROM v$diag_info WHERE name Diag Trace; -- 传统路径查询 SELECT value FROM v$parameter WHERE name background_dump_dest;拿到目录后用 grep 定位报错行Linux/Unix 环境# 在 trace 目录下搜索 ORA-6544 grep -n ORA-6544 $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log | tail -50 # 同时看 ORA-604 和 ORA-1000 的上下文 grep -n -E ORA-00604|ORA-01000 $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log | tail -50成功的结果长这样调整参数并重启后新的告警日志里不再出现新的ORA-6544[pevm_peruws_callback-1][604]行。注意是不再新增历史行还在别被旧记录误导。你可以记录一个时间戳只看该时间之后的日志# 只看某个时间点之后的日志示例2024-06-01 10:00 之后 awk /2024-06-01 10:00/ {found1} found alert_*.log | grep -E ORA-6544|ORA-00604|ORA-010004.2 解析 incident 文件里的 error stackORA-6544 触发时通常会生成 incident 文件。找到它-- 查看最近的 incident SELECT incident_id, create_time, problem_key FROM v$diag_incident ORDER BY create_time DESC FETCH FIRST 10 ROWS ONLY;incident 文件里重点看 error stack dump with barriers 段落它会把 ORA-604 和 ORA-1000 一起列出来形成证据链。你可以用下面命令提取# 在 incident 目录下搜索关键段落 grep -A 20 error stack dump with barriers incident_*.trc看到ORA-00604: error occurred at recursive SQL level 1紧跟ORA-01000: maximum open cursors exceeded就说明这条链路和 Doc ID 2638095.1 描述的一致。4.3 验证工具侧请求是否通数据库侧验证完顺手确认工具侧的三件套配置没问题。用 curl 发一个最小请求curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer 你的Key \ -H Content-Type: application/json \ -d { model: 你的ModelID, messages: [{role: user, content: ping}] }返回里带choices数组且内容正常说明 Base URL、Key、Model ID 三件套都对。如果返回 401 或提示模型不存在对照第 5 节排查。4.4 持续监控问题解决不代表可以撒手。建议挂一个定期巡检把游标使用率纳入监控-- 游标使用率巡检可做成定时任务 SELECT open_cursors AS metric, TO_NUMBER((SELECT value FROM v$parameter WHERE name open_cursors)) AS limit_val, (SELECT MAX(cnt) FROM ( SELECT COUNT(*) AS cnt FROM v$open_cursor GROUP BY sid )) AS peak_used FROM dual;当peak_used逼近limit_val的 80% 时就该考虑再调参数或优化 SQL 了。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth 对照排查过程中最容易卡住的不是数据库本身而是工具侧配置。下面按真实报错逐条对。5.1 401 Unauthorized现象curl 或客户端返回 401提示未授权。原因基本是 Key 不对或没带上。检查三件套里的 Key 是否和控制台一致请求头是不是Authorization: Bearer Key。注意别把 Key 前后带空格复制时容易多一个换行。如果 Key 刚在控制台重新生成过旧 Key 会失效记得同步更新所有工具配置。5.2 local proxy failed现象客户端报local proxy failed或连接被拒。这通常是 Base URL 写错了。确认填的是https://taotoken.net/api不要多加/v1之外的路径也不要漏掉https。有些客户端会在 Base URL 后面自动拼/v1/chat/completions所以你的 Base URL 到/api为止就行。另外检查本地网络是否能正常访问该域名公司内网如果有出站限制需要让网络同学放行。5.3 reading choices 相关报错现象返回体解析失败提示读取choices字段出错或cannot read property choices of undefined。这说明请求发出去了但返回结构不是预期的对话格式。常见原因有两个一是 Model ID 填错请求被路由到了不支持该接口的模型二是请求体格式不对比如messages写成了字符串而不是数组。对照 4.3 的 curl 示例检查请求体。如果返回里带error字段先看 error.message通常会说清楚是模型不存在还是参数非法。5.4 OAuth 相关报错现象客户端提示 OAuth 认证失败或 token 过期。如果你用的是支持 OAuth 流程的工具比如某些 IDE 插件或 Claude Code 类客户端注意区分API Key 模式和OAuth 模式。用 TaoToken 统一通道时走的是 API Key不需要额外 OAuth 授权。如果工具默认走 OAuth去设置里切换成 API Key 模式填入三件套即可。Claude Code 的接入方式在文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里有说明照着配 Base URL、Key、Model ID 三件套。5.5 数据库侧常见误判除了工具报错数据库侧也有几个容易误判的点一是把v$open_cursor的统计值当成泄漏。前面说过它包含隐式和递归游标偏高正常要看头部会话和趋势。二是改完open_cursors没重启就以为生效了。它是静态参数SCOPESPFILE改完必须重启SHOW PARAMETER在重启前看到的还是旧值内存值。三是只调参数不查根因。如果某个 SQL 疯狂解析、或者应用没关游标调大参数只是拖延迟早再撞。配合 3.1 的 SQL 找到头部会话该优化 SQL 就优化该改应用连接池配置就改。四是忽略pevm_peruws_callback的并行背景。如果库上跑着并行查询回调线程撞游标上限的概率会更高排查时把并行相关的会话也纳入观察。6. 语义一致收尾把排查路径和统一通道固化下来走到这里整条链路应该清楚了ORA-6544 是表象ORA-604 是递归 SQL 层的包装ORA-1000 才是根因而pevm_peruws_callback-1告诉你这事发生在并行回调线程里。排查动作就四步——查open_cursors当前值、统计游标占用头部会话、按需调参并重启、用告警日志和 incident 文件验证。我自己的习惯是把这套动作做成一个可复现的清单团队里谁遇到都照着走避免每次重新摸索。清单里除了 SQL 和命令还包括工具侧的三件套配置——Base URL、Key、Model ID。这样无论是本地复现还是换台机器配置一致结果就可比。工具侧的统一通道入口在这里需要管理 Key 的去 API Keys 页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 要查接入细节的看文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 做长期排查脚本或 Agent 自动化的可以了解 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。按你的场景选对应入口就行。最后留一个实用技巧把 3.1 的游标统计 SQL 和 4.1 的日志 grep 命令存成一个 shell 脚本参数化实例名和日期下次告警一响直接跑几分钟就能定位到头部会话。参数调整记录也建议归档写清楚改前值、改后值、重启时间、观察窗口方便回溯。这套东西固化下来ORA-6544 这类连锁报错就不再是玄学了。

相关新闻

具身智能落地指南:陪伴机器人四代演进路线与技术栈拆解

具身智能落地指南:陪伴机器人四代演进路线与技术栈拆解

如果让我说2024到2025年这轮具身智能浪潮里最被低估的方向,一定不是人形机器人炫技式的后空翻,而是那些正在从"电子宠物"进化为"准家庭成员"的陪伴机器人。所谓具身智能,核心就一句话:让AI不只是活在对话框里…

2026/10/18 0:33:19 阅读更多 →
我用 OpenClaw 搭了一套多Agent对抗式开发流水线,一个需求2.5小时出可运行代码:Harness 配置与验证全记录

我用 OpenClaw 搭了一套多Agent对抗式开发流水线,一个需求2.5小时出可运行代码:Harness 配置与验证全记录

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

2026/10/18 0:33:19 阅读更多 →
从零到实战:Agent Demo一天搞定,但要上线,你需要收藏这份架构指南(TaoToken 统一 Key 接入版)

从零到实战:Agent Demo一天搞定,但要上线,你需要收藏这份架构指南(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/18 0:33:19 阅读更多 →

最新新闻

Java计算两个日期之间的工作日天数:排除周末、节假日与调休的完整方案

Java计算两个日期之间的工作日天数:排除周末、节假日与调休的完整方案

简介:这是一份面向Java开发者的日期计算实战资料,聚焦「计算两个日期之间的天数并排除节假日与周末」这一常见业务需求,适合需要实现请假天数、工作日统计等功能的初中级开发者参考。资源以PDF形式呈现,压缩包内共1个文件&#xf…

2026/10/18 1:19:42 阅读更多 →
163MusicLyrics:从网易云和 QQ 音乐批量导出 LRC/SRT 歌词的免费开源工具

163MusicLyrics:从网易云和 QQ 音乐批量导出 LRC/SRT 歌词的免费开源工具

163MusicLyrics:从网易云和 QQ 音乐批量导出 LRC/SRT 歌词的免费开源工具 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 整理本地曲库时,一个常见…

2026/10/18 1:19:42 阅读更多 →
KBEngine 内嵌 Python 的 shelve 模块:持久化字典的用法、陷阱与源码剖析

KBEngine 内嵌 Python 的 shelve 模块:持久化字典的用法、陷阱与源码剖析

游戏开发后端 【免费下载链接】kbengine A MMOG engine of server. 项目地址: https://gitcode.com/gh_mirrors/kb/kbengine 点击查看 免费下载 导读 shelve 是 Python 标准库中一个将对象序列化后持久化到磁盘的模块,它提供一种"持久化的字典&qu…

2026/10/18 1:19:42 阅读更多 →
BIND主从DNS服务器与分离解析实战:高可用架构配置指南

BIND主从DNS服务器与分离解析实战:高可用架构配置指南

1. 项目缘起与整体设计思路1.1 为什么单台DNS服务器扛不住真实场景很多人在实验环境里搭DNS,习惯性地只配一台服务器,解析记录一写,systemctl restart named,能ping通域名就算完事。这种玩法在自家局域网里确实够用,但…

2026/10/18 1:19:42 阅读更多 →
FSoE黑通道原理:工业安全通信的不可信链路设计

FSoE黑通道原理:工业安全通信的不可信链路设计

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

2026/10/18 1:19:42 阅读更多 →
Step-3.7-Flash-oQ3e基准测试深度解析:思考开0.77 vs 关0.57,量化损失究竟多少?

Step-3.7-Flash-oQ3e基准测试深度解析:思考开0.77 vs 关0.57,量化损失究竟多少?

【免费下载链接】Step-3.7-Flash-oQ3e 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Step-3.7-Flash-oQ3e 点击查看 免费下载 Step-3.7-Flash-oQ3e 是 stepfun-ai/Step-3.Flash 系列面向 Apple Silicon 的 MLX 量化模型(oQ3e&#xff0c…

2026/10/18 1:18:42 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →