5G NR OAM子系统:从FCAPS到三大业务流的落地实践
简介面向5G NR网络平台研发与运维人员的课程资源系统梳理OAM操作、管理、维护子系统的核心架构与关键机制。内容从Makefile工程构建框架切入深入讲解RT实时补丁下的平台框架、IOS跨操作系统能力、初始化配置表与上电流程、Mem内存结构中UB Head与UB Body分离的设计思路并覆盖调度任务、私有任务、SP配置表、通讯路由配置及定时器设置接口等实操要点。资源包内共1个pptx文件约890KB便于直接用于团队内部培训或个人系统学习。目前已有341人学习下载适合5G基站软件开发者、协议栈工程师以及希望理解OAM子系统上下游协同机制的读者借助这份资料可快速建立从构建、初始化到任务调度、消息通讯的完整认知链条。1. 5G NR 平台的 OAM 子系统网络能被管住才谈得上真可用做无线侧开发的同事有个惯性空口指标测通、吞吐率跑满就觉得平台成熟了。可等把平台交到运维手里最头疼的往往不是无线性能而是 OAM 子系统能不能把配置管住、把告警收齐、把性能数据按时送出来。OAM 是 Operation、Administration、Maintenance 的缩写在 5G NR 平台里涵盖从网元初始化、参数配置、状态监视、故障上报到性能统计的整套管理面能力。这篇文章顺着标题拆开OAM 的功能边界在哪、三条核心业务流怎么落地、实验室最容易在哪些场景翻车。适合做无线平台开发、协议栈集成、运维工具的工程师也适合要写 OAM 需求文档的人。2. OAM 的职责边界怎么定从 FCAPS 五类功能到两层接口2.1 FCAPS 在 5G NR 网元上的真实映射别只盯着告警和性能OAM 概念最早来自电信管理网TMN模型后来被抽象成 FCAPS 五类职责Fault故障、Configuration配置、Accounting计费、Performance性能、Security安全。很多刚接触 5G NR 平台的人把 OAM 等同于告警中心这是最大的误读。在 5G NR 平台里五类职责的真实落点是这样的故障管理网元运行状态监视、告警生成与上报、告警相关性分析、故障定位辅助。这是运维感知最直接的入口但绝不是全部。配置管理软件版本管理、小区参数配置、邻区关系维护、传输参数下发、切片参数同步。5G NR 因为引入网络切片配置管理的对象从单个小区扩展到了小区加切片资源加 SLA 参数复杂度比 4G 时代高了一个量级。计费管理在 RAN 平台里通常弱化为资源用量统计比如某切片占用的 PRB 资源、按切片维度汇总的用户面吞吐量为上层运营支撑提供原始数据不直接涉及话单生成却要保证数据口径能被上层直接复用。性能管理KPI 计数器定义、周期采集、结果汇入上层网管。这部分是 OAM 里改动最频繁的本文第三章单独展开。安全管理管理面本身的认证、鉴权、传输加密以及操作日志审计。注意这里管的是管理面的安全不是用户面的空口加密空口加密是无线协议层的职责两者经常被搞混。很多排查事故最后发现是 OAM 的账号口令策略没配好导致管理通道被锁和空口一点关系都没有。在 5G NR 里切片和服务化架构让 OAM 从被动保存配置变成了主动参与资源编排。切片资源分配参数需要从编排层下发到基站再由 OAM 子系统落到各协议层的资源池配置。换句话说OAM 的配置管理模块要能理解和传递切片相关数据模型而不仅是存一张小区参数表。这个变化直接决定了第二章要讲的接口选型和内部组件划分。2.2 三层管理架构与接口选型Itf-S 向下、Itf-N 向上3GPP 在 TS 28 系列里定义了管理面分层模型网元管理层EM、网络管理层NM、更上层的跨域编排层。实际产品里最常见的是网元加 OAM 子系统加上层网管或编排器的三层结构中间两条接口叫 Itf-S 和 Itf-N。Itf-S 是 OAM 与网元之间的南向接口负责配置下发、状态查询、告警与性能数据回传。协议上常见的有 NETCONF、SNMP、sFTP。我的选型偏好是NETCONF 作为交互式配置主通道sFTP 作为性能文件批量回传通道SNMP 只用于轻量状态查询或告警 Trap。原因是 NETCONF 有天然的事务语义和回读能力适合配置一致性要求高的场景性能数据量大且是周期性的走文件传输比逐条走消息效率高一个量级。Itf-N 是 OAM 向上层 NMS 或编排器开放的北向接口现在基本都走 RESTful API数据模型直接映射 3GPP TS 28.600 系列定义的 NRM。北向协议建议统一 REST 加 JSON因为上层系统迭代快REST 兼容性处理成本最低。南向按网元实际能力决定但至少要支持两条通路一条交互式配置一条批量文件传输。接口方向常用协议典型用途数据形态Itf-S 配置NETCONF / YANG参数查询、增量下发XMLItf-S 性能sFTP性能文件批量回传CSV / JSONItf-S 告警SNMP Trap / 自定义通知实时告警推送Trap / JSONItf-NRESTful API上层网管或编排器调用JSON2.3 内部组件划分采集适配、关联引擎、数据存储、北向网关OAM 子系统内部我习惯按四个组件划分分别应对四类不同的扩展压力。采集适配器southbound adapter负责与网元建连、协议转换、消息编解码。网元种类一多适配器最容易膨胀所以要严格按插件化设计每种网元类型一个适配插件不要把所有解析逻辑写在一处。告警关联引擎correlation engine负责告警去重、衍生规则、跨对象关联。这块是纯计算逻辑建议做成独立进程不占 OAM 主业务流程的线程否则告警风暴会连带拖垮其他功能。配置与数据存储保存配置基线、告警记录、性能历史。数据库选型上配置和告警走关系库没问题性能数据量大建议按天分表或直接落到时序存储查询时按统计周期起止时间过滤。北向网关把内部数据结构映射成北向接口的数据模型承担鉴权、限流和格式转换。北向网关和内部模块解耦的最大好处是上层要新增一个查询接口时网关加一个路由映射就行不需要动内部代码。这四块组件之间的调用关系要遵守单向依赖告警关联引擎只能读配置库和告警库不能反过来写配置北向网关不能直接访问网元。如果出现反向依赖就说明职责边界画错了后面改起来会非常痛苦。3. 把 OAM 三大业务流落地配置下发、告警闭环、性能采集3.1 配置管理流全量基线加增量变更靠版本号对齐配置管理流的核心是一致性。5G NR 网元内部不只 OAM 模块在用配置控制面、用户面各自持有参数副本。OAM 下发配置后如果某个协议层同步失败但 OAM 没收到回执后续所有 KPI 都会被污染表现就是配置显示成功、行为还是旧逻辑。稳妥做法是四步OAM 维护一份全量配置基线以 XML 或 JSON 组织存放所有小区的完整参数变更时只下发差异部分每条变更带一个递增的 revision 序号每个协议层应用成功后返回确认OAM 维护已确认版本号网元重启或主备倒换后先全量同步基线再按 revision 比对追差异。一个典型的 NETCONF 变更下发示意edit-config targetrunning//target default-operationmerge/default-operation config nr-cell xmlnsurn:example:nr-cell cell-id1001/cell-id pci88/pci ssb-config ssb-frequency3524995680/ssb-frequency ssb-period20/ssb-period /ssb-config slice-profile slice-idsst-1/slice-id sst1/sst allocated-cpus8/allocated-cpus /slice-profile /nr-cell /config /edit-config重点说两个参数。default-operation 设成 merge 表示只合并不覆盖OAM 侧已经删掉的字段merge 不会帮忙删除必须显式发 delete 操作。很多现网老参数残留问题根子就在这里。另一个是目标配置库选 running 还是 candidate交互式变更建议先写 candidate 再 commit留一次人工确认机会批量自动化则直接 edit running 加回读校验。配置变更的验证不能只看下发成功。我要求 OAM 在每次变更后主动查询一次 running 配置的 revision与期望值比对不一致就产生告警。这一步能挡住至少一半的配置假成功问题值得写进需求文档。3.2 告警管理流从分级上报到关联收敛四个环节缺一不可告警是 OAM 里最容易出量问题的功能没故障时全网静默有故障时一秒钟几十条。5G NR 网元告警链路常见四环节告警生成网元内部模块按预定义条件产生告警每条带对象标识如小区 ID、板卡槽位、告警码、时间戳和严重级别。告警上报经 Itf-S 或 EMS 汇聚后上抛。为避免风暴OAM 做同源抑制同一对象同一告警码在恢复前不重复上报。告警关联把底层告警归并到业务影响层。比如某 RRU 失联会同时产生光纤中断、RRU 通信中断、小区业务中断多条告警OAM 按规则把后两条标记为衍生告警。告警闭环收到 clear 通知后OAM 把原始和衍生告警一并清除保留历史日志供审计。告警级别建议按 3GPP 的定义分成四级落到具体场景的分级标准如下严重级别典型场景上报要求Critical整机宕机、主控失联、安全攻击立即上报不可丢弃Major小区业务中断、核心板卡故障立即上报可短暂缓存Minor单链路劣化、配置不一致允许延时上报Warning阈值类告警负载高、吞吐率低允许丢弃并记日志经验是别滥用 Critical。某项目把小区吞吐率低于阈值都设为 Critical上层网管把所有 Critical 都当成不可用信号处理真正链路中断反而不突出。告警关联规则要放在 OAM 侧而不是网元侧网元只了解自己的局部状态OAM 能看到跨网元的拓扑关系比如传输中断影响多个小区这种跨对象关联只有 OAM 层能收敛。3.3 性能管理流先定公式再定计数器采集链路要能补采性能管理是 OAM 里改动最频繁、最容易返工的部分。无线侧性能数据采集链路大致是PHY/MAC 层在调度循环里累加计数器统计模块按周期生成 PM 文件经 sFTP 或消息送到 OAMOAM 解析入库北向供上层查询。常见粒度是 15 分钟原始采集小时和天级汇总交给上层网管计算。关键 KPI 的计数器设计要遵循先定义公式、再定义计数器的顺序。拿最常用的 RRC 建立成功率举例RRC 建立成功率 RRCSetupComplete 计数 / RRCSetupRequest 计数 × 100%公式看着简单落地细节不少。RRCSetupRequest 在网元侧计的是收到并分流的请求RRCSetupComplete 计的是正确解码且上下文建立成功的完成消息。如果计数器把因资源拥塞而拒绝接续的请求放错分子分母指标立刻失真。我一般要求每个 KPI 预留两个计数器位一个记实际触发一个记有效计入上线前用最小复现环境核对公式口径。性能文件格式建议用四元组时间戳、对象标识、计数器 ID、数值。采集链路里最容易丢数据的是 sFTP 传输阶段建议 OAM 维护一张已采集文件清单每收到一个文件就登记文件名和文件 hash超时未到就触发告警。不要等上层发现数据断层再追溯那样定位成本至少翻倍。4. OAM 子系统落地中的 5 个翻车场景与排查路径4.1 配置显示成功但设备侧没生效状态模型缺了生效确认现象OAM 界面显示配置已确认协议层实测参数还是旧值。原因网元内部把配置分成前台生效和后台待生效两套有些模块要等小区重建或定时器到期才真正生效而 OAM 只等到了数据写入成功的回执。解决在 OAM 状态模型里增加生效确认状态。对涉及频点、PCI 这类运行参数的变更要求网元回传当前运行值不要只回目标值。两值一致才显示已生效否则显示待生效并启动定时重查。排查时先翻 OAM 日志里对应该变更的 running value 回读记录多数情况是第一版回读就显示不一致只是界面没有把它暴露出来。4.2 告警风暴把 OAM 模块自己打崩入口缺削峰现象一次设备侧批量故障OAM 侧 CPU 飙高、数据库写入排队运维连重启命令都卡住。原因告警上报没有速率限制OAM 入口没有削峰数据库每条插入都是独立事务。解决告警入口做两级处理。第一级按对象维度去重同一对象同一告警码在 T 秒内只保留一条T 建议取 5 到 10 秒第二级按严重级别做流量整形Critical 直接入库Warning 允许丢弃并记录溢出日志。数据库侧把告警写入从每次插入改成按对象加码 upsert写入压力能降一个量级。排查时看两处OAM 入口队列的丢弃计数是否在增长以及告警表主键是不是复合唯一键。4.3 性能 KPI 曲线出现锯齿时间窗和时钟没对齐现象上层网管拿到的 15 分钟性能数据相邻两个周期数值忽高忽低和真实空口情况对不上。原因网元侧统计窗口按内部时钟跑OAM 侧解析以文件到达时间归档两边没有统一时间基准。解决PM 文件命名和内容都必须携带统计起始时间戳OAM 以该时间戳归档绝不用接收时间。排查时对比两个时间同一文件名的接收时间戳和文件内起始时间戳差值超过 5 分钟就说明归档侧写错了。同时定期用 NTP 同步网元和 OAM 时钟实验室常忽略现网影响直接。4.4 告警恢复了北向还挂着假告警clear 的关键匹配不对现象光纤恢复、业务正常北向接口上还挂着大量历史告警。原因网元上报了 clear 通知但 OAM 关联规则把 clear 和原始告警的关联 key 匹配错了典型的如对象标识格式不一致一个带站点前缀一个不带。解决给告警设计全局唯一的源标识生成和恢复必须用同一个标识。OAM 侧再加兜底规则收到某对象的 resource-up 事件时对该对象所有未恢复告警做一次关联重匹配重匹配后仍无法关联的走人工确认流程。排查时在 OAM 日志里分别打印告警生成消息和 clear 消息的 source ID比对两边的字符串差异问题基本一目了然。4.5 主备倒换后配置和告警状态全乱没订阅倒换事件现象主控板切换后OAM 侧显示设备配置缺失、历史告警全部消失。原因网元主备没有把配置基线和告警状态同步到备板OAM 也没有在检测到主备切换后主动重新拉取状态。解决OAM 订阅主备切换通知收到事件后自动触发全量状态同步。配置做 revision 比对告警做差异对齐以网元当前实际告警集合为准重建 OAM 侧视图。关键是同步必须自动触发不能依赖运维手动操作。排查时可以模拟主备倒换观察 OAM 侧能否在倒换后的一个同步周期内恢复出完整视图若超过两个周期还未恢复基本就是同步触发逻辑漏了。5. 进阶实践用最小 OAM 环境把子系统测出真短板最后给一个我每次交付前必跑的具体做法搭最小 OAM 验证环境用故障注入把短板提前逼出来。三件套一个模拟网元脚本即可、一套待验证的 OAM 子系统、一个北向消费脚本。注入场景和通过标准如下注入场景注入方式OAM 应通过的行为告警风暴500 条/秒持续 10 秒削峰生效Critical 不丢CPU 可控性能文件延迟sFTP 随机延迟 10~30 分钟触发补采告警文件到达后正确归档配置回执丢失模拟网元不回确认显示待生效并自动重查主备倒换模拟进程重启并恢复基线自动全量同步视图重建时钟漂移PM 时间戳偏移 5 分钟按文件时间戳归档无锯齿先跑告警风暴这个最直观每秒 500 条带不同对象 ID 的告警持续 10 秒再看 OAM 的告警表深度、CPU 曲线和北向时延。再跑配置回执丢失模拟网元对指定配置操作不回确认OAM 必须自己发现未确认并重查而不是干等。很多实现把配置操作做成发出去就完事这个测试一跑就露馅。说个我自己的教训。早年间交付某模拟项目 X 的 OAM 版本功能测试都过了唯独没跑告警风暴注入。结果现场割接时网元批量告警OAM 数据库被打满运维侧全部失明熬了一个通宵才恢复。此后我立了规矩每个 OAM 版本交付前上表五类注入场景必须全过缺一项不签收。这套方法朴素但它把能跑和能扛分得很清楚。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

共享存储挂载失败:dmsetup remove_all 与 Device-Mapper 残留映射排错指南

共享存储挂载失败:dmsetup remove_all 与 Device-Mapper 残留映射排错指南

简介:这份资源聚焦 Linux 存储管理中的典型故障场景:同一存储设备挂载到两台服务器后,一台挂载成功、另一台却无法挂载或提示存储正忙。内容围绕 Device-Mapper 框架与 dmsetup 命令展开,适合有一定 Linux 基础、正在处理共享存储…

2026/10/17 0:33:00 阅读更多 →
惯性导航解算算法实现:从IMU数据到ECEF位置的六步闭环

惯性导航解算算法实现:从IMU数据到ECEF位置的六步闭环

简介:本资源是一套完整的惯性导航解算算法实现工程,面向导航制导、智能无人系统、机器人定位等方向的本科生、研究生及嵌入式开发者,聚焦于INS核心姿态解算、加速度积分与卡尔曼滤波校正等关键环节,解决无GPS环境下自主定位与姿态…

2026/10/17 0:31:59 阅读更多 →
Kube-OVN 安装避坑指南:内核适配、网卡识别与版本兼容三重校验

Kube-OVN 安装避坑指南:内核适配、网卡识别与版本兼容三重校验

简介:本资源是一份面向Kubernetes运维工程师、云原生网络架构师及容器平台开发者的Kube-OVN深度技术文档,系统解析这一CNCF沙盒项目的网络设计哲学与工程实践。文档覆盖其三大核心优势:依托OVN/OVS实现的子网管理、VPC多租户、跨集群互联等丰…

2026/10/17 0:31:59 阅读更多 →

最新新闻

ROS Melodic 离线安装方案:Ubuntu 18.04 下 rosdep 本地化与依赖处理

ROS Melodic 离线安装方案:Ubuntu 18.04 下 rosdep 本地化与依赖处理

/* 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 1:04:15 阅读更多 →
多段图最短路径:动态规划状态设计与Python实现

多段图最短路径:动态规划状态设计与Python实现

/* 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 1:04:15 阅读更多 →
双串锂电池主动均衡方案:MP2642GR-Z与STM32G070RB实战

双串锂电池主动均衡方案:MP2642GR-Z与STM32G070RB实战

/* 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 1:04:15 阅读更多 →
RabbitMQ分布式事务实战:本地消息表实现最终一致性

RabbitMQ分布式事务实战:本地消息表实现最终一致性

/* 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 1:04:15 阅读更多 →
基于MP2642GR-Z与STM32F410RB的两串电池主动均衡方案设计与实现

基于MP2642GR-Z与STM32F410RB的两串电池主动均衡方案设计与实现

/* 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 1:04:15 阅读更多 →
基于MP2642GR-Z与MSP432的两串电芯被动均衡方案设计与实现

基于MP2642GR-Z与MSP432的两串电芯被动均衡方案设计与实现

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

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04: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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →