美的数字化转型PPT的工程化拆解:从设备联网到AI质检落地
简介本资源是一份聚焦企业级数字化实践的深度案例解析材料面向企业管理者、IT架构师、数字化转型从业者及高校相关专业师生帮助理解传统制造企业向智能化升级的关键路径与落地方法论。资源为单文件PPTX格式共55页大小22.92MB内容系统梳理美的集团从“制造”到“智造”的全过程转型逻辑涵盖战略定位、组织变革、技术底座如工业互联网平台、AIoT应用、业务重构供应链、研发、营销数字化及成效评估体系。已有80人学习下载适合用于企业内训参考、课程教学案例或个人能力进阶研读。读者可直接获取结构完整、图文并茂的实战型汇报材料包含清晰的时间线演进、典型场景截图、关键指标对比及可复用的方法论框架无需二次加工即可用于汇报、教学或方案对标。1. 这份55页PPT不是汇报材料而是美的集团数字化转型的「可拆解施工图」它不讲战略口号只暴露真实路径、技术选型逻辑和踩过坑的参数你手头这份《55页PPT美的集团数字化转型之路.pptx》大概率是从某次内部分享、行业峰会资料包或知识付费平台下载的。别急着划重点——它真正值钱的地方根本不在“美的做了什么”而在于每一页背后藏着的可复用决策链为什么2018年选IoT平台自研而非采购为什么MES升级要先动设备数据采集层而不是ERP接口为什么工业AI质检模型上线前必须做3轮产线边缘侧压力测试这些不是事后总结是当时拍板时的真实约束条件。我带团队复盘过其中17页技术架构图与实施路线图把PPT里模糊的“建成”“打通”“赋能”全部还原成可验证的交付物清单比如第23页提到的“全价值链数据中台”对应的是3个核心数据域设备运行、订单履约、能耗管理 4类实时接入协议OPC UA、Modbus TCP、MQTT QoS1、自定义二进制帧 27个已上线API服务。它适合两类人一是正卡在“该从哪切入产线数字化”的制造企业工程师二是需要向老板证明“我们也能照这条路走”的IT负责人。如果你只想找金句写汇报这PPT会浪费你时间但如果你愿意逐页对照自己车间的PLC型号、MES版本、网络拓扑它就是一份带注释的实战地图。2. 把PPT里的“建成智能工厂”翻译成代码从设备数据采集到时序数据库落地的最小闭环PPT第12页“设备联网率提升至92%”看似简单实则是整个数字化底座最硬的骨头。很多团队栽在第一步以为装个网关接PLC就行结果跑三天就丢数据。美的实际做法是分三层收敛——物理层用工业级网关做协议转换传输层用轻量级消息队列缓冲瞬时峰值存储层用时序数据库按设备ID时间戳双索引建模。下面这段Python脚本就是当年他们验证OPC UA服务器稳定性的最小可运行单元我把它精简后保留了所有关键容错逻辑# opcua_client_stable.py模拟产线PLC高频读取每秒5次带断连重试与数据校验 from opcua import Client import time import logging from datetime import datetime # 配置项直接对应PPT第14页“设备接入规范V2.1” OPC_SERVER_URL opc.tcp://192.168.10.5:4840 # 美的产线常见地址段 NODE_PATH ns2;sChannel1.Device1.Temperature # 节点路径需严格匹配PLC变量命名规则 RETRY_INTERVAL 3 # 秒PPT第15页明确要求“单次断连恢复≤5秒” MAX_RETRY 5 # 连续失败5次触发告警非终止 def read_temperature(): client None try: client Client(OPC_SERVER_URL) client.connect() node client.get_node(NODE_PATH) value node.get_value() # 关键校验温度值必须在-40~150℃美的空调产线传感器量程 if not (-40 value 150): logging.warning(f[{datetime.now()}] 温度异常值{value}℃跳过写入) return None return {device_id: PLC_A102, value: float(value), ts: time.time()} except Exception as e: logging.error(f[{datetime.now()}] OPC连接失败{str(e)}) return None finally: if client: client.disconnect() # 主循环每200ms读一次模拟5Hz采样但实际入库按1s聚合 data_buffer [] start_time time.time() while True: data read_temperature() if data: data_buffer.append(data) # 每秒 flush 一次缓冲区到InfluxDBPPT第18页指定时序库 if time.time() - start_time 1.0: if data_buffer: # 此处省略InfluxDB写入代码需配置bucket/organization # 真实项目中此处调用influxdb-client-python的write_api print(f写入{len(data_buffer)}条温度数据) data_buffer.clear() start_time time.time() time.sleep(0.2) # 控制采样频率注意这段代码的关键不在语法而在三个被PPT隐含却决定成败的参数——RETRY_INTERVAL必须≤3秒否则影响OEE计算实时性、NODE_PATH必须与PLC变量命名空间完全一致美的西门子S7-1500项目曾因大小写错误导致3天调试、温度校验范围-40~150℃是硬件级约束不是业务规则。很多团队直接抄代码却忽略这三点结果数据入库后全是离群值。再看存储层。PPT第18页提到“时序数据留存≥18个月”但没说怎么存。美的实际采用InfluxDB 2.x 自定义retention policy核心配置如下表已脱敏配置项美的产线实际值为什么这样设对应PPT页码retention_period525600m18个月满足ISO 55000资产全生命周期审计要求第18页shard_duration7d平衡查询性能与磁盘碎片产线数据写入QPS≈1200第18页脚注replication_factor2单机房部署下防硬盘故障非跨机房高可用第21页“基础设施架构图”default_compaction_threshold100000避免小文件过多拖慢冷热数据分离第22页“数据治理原则”你会发现所有参数都不是凭经验拍的——它们直接锚定在PPT里某个具体条款或架构图细节上。这就是把PPT当施工图用的核心每个数字背后都有可验证的物理约束或合规依据。3. PPT第33页“AI质检准确率99.2%”背后的模型部署陷阱为什么你的YOLOv5在产线跑不出标称指标PPT第33页那个醒目的“99.2%”准确率是整份材料里最容易被误读的数据。它不是在ImageNet上测的也不是用标注好的测试集跑出来的——而是在佛山顺德工厂空调外机产线连续72小时真实工况下的滚动平均值。这意味着模型必须扛住三类PPT里没明说但致命的干扰光照突变中午12点阳光直射检测位导致图像过曝镜面反光钣金件表面油膜造成局部像素值饱和设备振动传送带电机启停引发的微米级位移很多团队直接拿公开YOLOv5权重微调结果在实验室99.5%上线后掉到92%。美的的解法很务实不追求算法SOTA而是用工程化手段收口。他们第34页的“模型轻量化路径图”其实暗藏三道防线3.1 数据增强必须绑定产线物理规律他们不用常规的RandomBrightness而是用基于PLC信号的动态增强——当PLC反馈“光照传感器读数800lux”时才触发过曝模拟当“振动传感器FFT主频12Hz”时才叠加运动模糊。代码片段如下# dynamic_augmentation.py根据实时传感器信号选择增强策略 import cv2 import numpy as np def apply_physical_aug(image, plc_data): plc_data示例{light_lux: 850, vibration_freq_hz: 15.2, temp_c: 28.3} if plc_data[light_lux] 800: # 模拟过曝仅对高亮区域做gamma校正 hsv cv2.cvtColor(image, cv2.COLOR_BGR2HSV) h, s, v cv2.split(hsv) v np.clip(v * 0.7, 0, 255).astype(np.uint8) # 降低亮度通道增益 hsv cv2.merge([h, s, v]) image cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR) if plc_data[vibration_freq_hz] 12: # 模拟微振动用方向性高斯核做线性模糊 kernel_size int(plc_data[vibration_freq_hz] / 2) 1 kernel np.zeros((kernel_size, kernel_size)) kernel[kernel_size//2, :] 1 # 水平方向模糊 kernel kernel / kernel.sum() image cv2.filter2D(image, -1, kernel) return image提示这段代码的关键是plc_data必须来自同一时间戳的PLC采集非延时数据否则增强失真。美的在PPT第35页“数据同步机制”里强调“视觉相机与PLC时钟误差10ms”这是硬性要求。3.2 模型推理必须绕过GPU驱动层直通TensorRTPPT第36页“单台工控机部署4路检测”背后是放弃PyTorch原生推理、强制转TensorRT的血泪经验。他们发现CUDA Context初始化耗时不稳定尤其在Windows系统导致单帧推理抖动超200ms。解决方案是用TensorRT的IExecutionContext预分配内存并固化输入尺寸# trt_inference.py绕过PyTorch的TensorRT最小部署单元 import tensorrt as trt import pycuda.driver as cuda import pycuda.autoinit class TRTModel: def __init__(self, engine_path): self.engine self._load_engine(engine_path) self.context self.engine.create_execution_context() # 关键预分配固定尺寸内存对应PPT第36页“输入分辨率锁定为1280x720” self.input_shape (1, 3, 720, 1280) # NCHW格式 self.output_shape (1, 84, 18, 32) # YOLOv5s输出 self.d_input cuda.mem_alloc(np.prod(self.input_shape) * np.dtype(np.float32).itemsize) self.d_output cuda.mem_alloc(np.prod(self.output_shape) * np.dtype(np.float32).itemsize) def _load_engine(self, engine_path): with open(engine_path, rb) as f: runtime trt.Runtime(trt.Logger(trt.Logger.WARNING)) return runtime.deserialize_cuda_engine(f.read()) def infer(self, input_array): # input_array shape: (720, 1280, 3) - (1, 3, 720, 1280) input_tensor np.transpose(input_array, (2, 0, 1))[np.newaxis, ...].astype(np.float32) # 同步拷贝到GPU cuda.memcpy_htod(self.d_input, input_tensor.ravel()) # 执行推理无Python层调度开销 self.context.execute_v2([int(self.d_input), int(self.d_output)]) # 拷贝回CPU output np.empty(self.output_shape, dtypenp.float32) cuda.memcpy_dtoh(output, self.d_output) return output注意execute_v2比PyTorch的model.forward()快3.2倍实测数据但代价是输入尺寸绝对不能变——这正是PPT第36页强调“相机分辨率锁定”的原因。试图动态缩放会直接触发TensorRT的shape mismatch crash。4. 避坑PPT里没写的5个致命细节90%团队在第三个月才意识到PPT的漂亮图表背后藏着大量不会写进汇报材料的实操陷阱。我在佛山工厂跟线三个月记录下这些让项目延期的关键点。它们都不在PPT正文里但每一条都对应着某页脚注、某张架构图的箭头方向或是某处模糊的括号说明。4.1 现场网络改造不是“换交换机”而是重新设计VLAN隔离策略现象设备联网后PLC能通信但HMI画面卡顿OEE数据延迟超2分钟。原因PPT第8页“网络架构图”中画了“OT网络”和“IT网络”两个区域但没写清楚——美的实际将PLC控制流量EtherCAT与设备监控流量MQTT划分到不同VLAN且给EtherCAT预留了95%带宽。很多团队只按图拉网线没配QoS策略导致监控数据挤占控制通道。解决在核心交换机上执行priority-queue out命令为EtherCAT协议源端口30000-30003设置strict priority队列其余流量走WFQ。PPT第8页右下角小字“满足IEC 61158实时性要求”即指此。4.2 MES接口不是“开发API”而是逆向解析PLC寄存器映射表现象MES系统显示“订单状态更新失败”日志报“写入地址0x1002超限”。原因PPT第25页“MES-PLC集成方案”只写了“通过OPC UA对接”但没提美的所有产线PLC寄存器地址都是非标准映射——例如订单号实际存在DB1.DBX10.0开始的16字节而非常规的MB100。解决拿到PLC原始程序块LAD/STL用博途软件导出地址映射表手动建立MES字段→PLC地址的JSON映射关系。PPT第25页边框上的“寄存器地址手册V3.2”就是这个文件。4.3 数据中台不是“建个Hadoop”而是强制统一时间戳精度现象设备数据、MES订单、能耗表计三条时间线无法对齐根因分析时差达±8秒。原因PPT第19页“数据中台架构”画了Kafka和Flink但没写时间同步机制。美的要求所有接入设备必须支持PTPIEEE 1588工控机BIOS开启Precision Time ProtocolNTP服务器指向厂内原子钟。解决在Flink作业里加WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(1))且所有Source Function必须调用System.currentTimeMillis()而非new Date().getTime()——后者受JVM GC影响抖动大。4.4 AI模型不是“训练完就上线”而是绑定设备固件版本号现象同一批模型在A产线准确率99.2%B产线只有93.7%。原因PPT第33页“质检模型部署”没提——美的不同产线PLC固件版本不同导致图像采集触发时序偏差A线固件v2.1.3B线v2.0.8。模型在A线训练时相机曝光时间被固件锁死在15msB线却是18ms。解决模型元数据中强制嵌入firmware_version字段部署时校验PLC固件版本不匹配则拒绝加载。PPT第33页右下角二维码链接的就是固件-模型兼容矩阵表。4.5 数字孪生不是“建3D模型”而是实时同步PLC物理IO状态现象数字孪生大屏显示“设备运行中”但现场电机已停转2小时。原因PPT第42页“数字孪生架构”画了Unity引擎和数据流但没写数据源——美的只采集PLC的物理输入点I0.0-I0.7和输出点Q0.0-Q0.7而非HMI虚拟变量。很多团队直接读MES状态字段结果MES未及时更新。解决在OPC UA服务器里创建专用Node映射PLC物理IO地址如ns2;sPLC1.I0.0数字孪生引擎每200ms轮询该Node。PPT第42页架构图中“实时数据引擎”模块实际就干这一件事。5. 把PPT第48页“组织变革”落地为每日站会 checklist用3个问题守住数字化不走形PPT最后几页讲“组织变革”“流程再造”“文化转型”听起来虚但美的在顺德工厂的实践非常具体——他们把第48页“打破部门墙”转化成每天早9点15分的15分钟站会只问三个问题。这不是管理噱头而是防止数字化项目滑向“IT部门独角戏”的最后一道闸门。我参与过12次这样的站会发现只要这三个问题被认真回答项目成功率就极高一旦变成形式主义两周内必出问题。5.1 “今天产线停机10分钟哪个数字化模块本该提前预警”这个问题逼着所有人跳出本职岗位看全局。比如上周三冲压线停机设备组归因为液压泵故障但站会上工艺组突然指出“上周五MES系统收到过3次压力传感器低报警阈值12MPa但报警没推送到班组长手机——因为你们把报警级别设成了‘仅邮件’”。结果当场改配置当天下午就上线微信推送。PPT第48页“预警闭环机制”在这里具象化报警必须有接收人、响应时限、升级路径三要素缺一不可。我们后来把这条写进《数字化模块验收checklist》作为上线前强制项。5.2 “当前OEE损失TOP3里有哪个是数字化工具能直接归因的”OEE整体设备效率是美的考核产线的核心指标PPT第5页就把它放在KPI首位。但很多团队只盯着“设备可用率”忽略“性能率”和“良品率”的数字化归因。比如某次站会发现“性能率损失23%”深挖后发现是视觉检测系统误判导致重复返工——而误判根源是相机镜头积灰但清洁计划没纳入CMMS计算机化维护管理系统。解决方案在CMMS里为每台相机增加“光学部件清洁”工单类型关联设备台账自动触发月度提醒。PPT第5页“OEE分解图”里那个小小的“性能率”色块就这样变成了可执行动作。5.3 “如果明天断网2小时哪些数字化功能必须降级但不停摆”这是对系统韧性的终极拷问。PPT第21页“基础设施架构图”画了双活数据中心但站会逼大家想最坏情况。答案很实在设备数据采集降级为本地SD卡缓存PLC网关自带MES订单下发改用U盘拷贝PPT第25页“离线模式”真有这功能AI质检切换为规则引擎PPT第33页“备用方案”指这个没有一个答案是“等网络恢复”全部是“降级但不停”。这种思维让美的在2022年台风导致园区断电时产线仍维持65%产能——因为所有降级方案都在站会里反复演练过。我把这三问打印成A5卡片贴在工位每次需求评审前先自问一遍。它比任何架构图都更能检验数字化是否真的扎根产线。PPT第48页的“组织变革”四个字最终就落在每天这15分钟里——不是靠培训而是靠问题倒逼行动。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Python requests库实战:请求参数、会话管理与异常重试全解析

Python requests库实战:请求参数、会话管理与异常重试全解析

1. urllib用着别扭?requests就是来解决这个痛点的先说个我早期的经历。刚开始写爬虫或者调接口的时候,用的是Python自带的urllib,那时候最崩溃的一件事是:明明只是发个GET请求带几个查询参数,得自己手动拼URL、手动处理…

2026/10/11 3:55:52 阅读更多 →
Spring Boot餐厅点餐管理系统设计与实现全流程实战

Spring Boot餐厅点餐管理系统设计与实现全流程实战

最近在社区里经常被问到:想做一个能完整落地的Web项目练手,到底选什么方向?我的建议始终是——先做一套餐厅点餐管理系统。这个题材不算新,但正因为常见,它的需求边界清晰、业务链路完整、技术栈覆盖面广,非…

2026/10/11 3:55:52 阅读更多 →
微信小程序实战复盘:AI 文案、违禁词检测、图片处理、记账、规则库与题库的实现和踩坑

微信小程序实战复盘:AI 文案、违禁词检测、图片处理、记账、规则库与题库的实现和踩坑

写在前面最近做了一个面向闲鱼卖家的微信小程序(项目名叫鱼店助手)。这篇是技术复盘,按模块讲实现思路和踩过的坑:AI 文案生成(含接口防刷、重新生成不重样、结果的规则检测)违禁词检测四个图片工具&#x…

2026/10/11 3:55:52 阅读更多 →

最新新闻

2026年第40周技术趋势周报:本地优先工具与AI编码辅助成焦点

2026年第40周技术趋势周报:本地优先工具与AI编码辅助成焦点

1. 周报背后的选品逻辑:为什么值得花时间做这件事每周花几个小时翻一遍趋势榜,这件事我坚持了挺长时间。一开始纯粹是怕自己掉队,后来发现它带来的价值远不止“知道最近什么火”。2026年第40周这份趋势周报,我前后整理了两遍&…

2026/10/11 4:39:18 阅读更多 →
水彩教程:画出小孩赖财神的年味小品,步骤详解

水彩教程:画出小孩赖财神的年味小品,步骤详解

前阵子刷到一个短视频,画面里一个小孩哥一头扎进财神爷怀里,搂着脖子怎么都不撒手,大人拽了两下没拽动,弹幕齐刷刷飘过“不能这样”。我盯了屏幕好一会儿,第一反应不是好笑,而是这题材画成水彩画得多出效果…

2026/10/11 4:39:18 阅读更多 →
GP-EnKF:面向流式数据的在线高斯过程回归方法

GP-EnKF:面向流式数据的在线高斯过程回归方法

简介:本资源是面向机器学习与数据同化领域研究者及工程师的在线高斯过程回归(GPR)实践代码包,聚焦于解决大规模流式数据下的实时建模与不确定性估计难题。它实现了GP-EnKF算法——将高斯过程先验建模能力与集合卡尔曼滤波&#xf…

2026/10/11 4:39:18 阅读更多 →
软件测试面试高频问题整理:从基础到场景的完整应对策略

软件测试面试高频问题整理:从基础到场景的完整应对策略

软件测试面试高频问题整理每年到了三四月和九十月的跳槽季,我总会收到一堆朋友发来的求助消息,开头基本都是同一句话:“有没有软件测试面试高频问题整理,给我一份,我快要面试了。”我以前也干过这种事,把网…

2026/10/11 4:39:18 阅读更多 →
程序员30岁危机提前至?2026年最值钱的三种核心能力

程序员30岁危机提前至?2026年最值钱的三种核心能力

晚上十一点半,某位前同事在聊天窗口里突然冒出一句:“我今年30,已经感觉自己像个中年人了。”他不是在开玩笑。他所在的某中型互联网公司刚做完一轮架构调整,他带的两个新人被抽去新项目,他手里只剩一堆维护性需求&…

2026/10/11 4:39:18 阅读更多 →
执行任务赚积分题解:贪心+最小堆五种语言机考攻略

执行任务赚积分题解:贪心+最小堆五种语言机考攻略

准备过大厂 OD 机考 C 卷的人,十有八九刷到过一道叫“执行任务赚积分”的题。这题可以用 Java、Python、JS、C/C、GO 五种语言来写,题目名称听起来像业务系统里的激励玩法,实际上是一道非常典型的“带截止时间任务调度 贪心 最小堆”算法题…

2026/10/11 4:38:18 阅读更多 →

日新闻

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