数学建模插值方法全解析:从线性插值到三次样条与Python实战
简介这份PDF讲义以数学建模案例为载体面向高校学生、数学建模竞赛选手以及需要处理离散数据的工程分析人员聚焦数据插值与拟合方法。内容从分段线性插值的折线近似入手逐步过渡到多项式插值、拉格朗日插值与牛顿插值并引入三次样条插值等更光滑的建模工具配套MATLAB程序示例说明如何对地图边界进行线性插值并估算国土面积同时给出凸轮高度拟合等多个扩充案例帮助读者建立从测量数据到函数模型的完整分析思路。资源共1个文件格式为PDF压缩包大小258KB结构紧凑适合作为课程讲义或竞赛备赛参考。目前已有141人学习浏览阅读后可获取插值公式推导、MATLAB源程序以及面积估算与凸轮设计等典型应用场景的完整做法便于直接复现并迁移到自己的数据建模任务中。1. 插值不是画一条线那么简单数学建模里的数据补全问题拿到一个数学建模题目手头数据只有 7 个点却要预测整条曲线的变化趋势或者现场采集的数据因为传感器故障缺了中间一段直接跑回归模型就会把结果带偏——这时候第一反应往往是插值。但插值并不是拿 Excel 把折线图打开更不是用回归直线硬穿过去。它是数学建模里最容易被低估、也最容易翻车的工具箱用对了能把零散数据变成光滑、可求导、可代入后续方程的解用错了评阅老师一眼就能看出你是在编数据。插值方法的核心一句话在已知离散点之间建立一条函数曲线让曲线恰好通过每一个已知点。它和拟合的本质差别在于拟合允许误差、追求趋势而插值是一点都不能偏。理解了这一点你才能真正分清在建模论文里什么时候该用插值什么时候该用拟合。下面几章我会从原理、选型、代码实现、常见踩坑到论文呈现把这个方向完整拆开。2. 插值 vs 拟合先搞清楚你要的是经过还是逼近2.1 为什么建模赛题里插值和拟合总被混为一谈很多同学拿到数据后第一件事就是拟合一条曲线。但插值和拟合在数学建模中的角色完全不同插值的目标是构造一个函数使其在已知点上的函数值与观测值完全相等拟合的目标则是构造一个函数让整体误差尽量小允许在个别点上偏差。听上去很简单实际写论文时经常出问题的原因是题目里如果出现补全数据估计中间值还原曲线本质上是在用插值如果出现预测趋势分析回归则多半是拟合的活。另一个混淆来源是软件行为。用 Excel 做平滑散点图、用 MATLAB 的 plot 默认连接线、用 Python 的 matplotlib 直接 plot都能得到一条穿过所有点的线但那条线只是线段连接并不是真正的插值函数——它不光滑也不能做后续的数值运算。更关键的是插值要能给出任意位置的函数值而线性连接只能估出两两之间的值没法求导、没法积分。2.2 四种常用插值方法对比线性、分段三次、样条、多项式建模中最常用的插值方法就四种先看对比表方法原理光滑性计算量典型场景分段线性插值相邻点之间连线C0 连续不光滑最小数据量大、只求点值、不做求导多项式插值拉格朗日/牛顿用一个 n 次多项式穿过所有点无穷次可导小但 n 大时病态点数少≤7、范围小分段三次多项式PCHIP每段三次多项式保持单调性C1 连续保形中物理量单调变化、怕过冲三次样条插值Cubic Spline每段三次多项式 二阶连续C2 连续中曲线光滑、需要求导、默认首选这里有个关键认知多项式插值不是次数越高越好。拉格朗日插值在 10 个以上节点时会出现剧烈的边界震荡这就是所谓的龙格现象具体表现是端点附近函数值忽上忽下完全背离原始数据趋势。所以我个人习惯是门槛设在 7 个点超过这个数量就别用全局多项式了。三次样条插值之所以是默认选择是因为它在每个小区间都是一个三次多项式保证了整条曲线二阶导数连续也就是曲率没有突变。这样得到的曲线既光滑又稳定还能方便地求一阶、二阶导数在建模中做极值点判断时非常有用。但要注意它牺牲了保形性——如果原始数据本身有平台段或突变段样条可能会绕出多余的波浪。2.3 选型判断看数据形态、误差要求和导数连续性选插值方法不是套公式而是先回答三个问题数据点之间是单调递增或递减吗后续需要求导吗点数多到什么程度第一个问题关乎保形。比如某物理实验数据已知压强随温度单调上升中间出现几个空缺位置。如果直接用三次样条曲线可能会在某个区间出现局部的下降这在物理上根本不成立。此时应优先选择 PCHIP也就是保形分段三次插值它保证分段之间不会产生新的极值点。第二个问题关乎导数。如果建模目标要找到曲线的峰值、拐点那么插值函数至少要有二阶连续。三次样条是底线。如果只需要视觉上的平滑分段线性插值配合足够密的采样点也一样能看但导数上会阶梯状突变后续没法用。第三个问题关乎数据规模。当节点数量超过 30样条插值仍是首选当节点数量超过 100普通样条的计算已经很快但要留意端点处的自然边界条件是否合理。而如果数据带有噪声插值会把噪声也一起穿过这时候就不该用插值而是先用平滑滤波把噪声去掉或者直接转用拟合。记住一个粗标准数据有随机误差拟合数据是精确记录插值。3. 案例实操用 Python 把缺失的气象数据补成可用曲线3.1 准备数据与基础可视化我用某次建模练习中遇到的一组温度传感器数据来演示。原始数据每分钟记录一次但中间有 20 分钟仪器离线导致一段缺失。我们手头只有完整时间段和缺失段前后共 12 个可靠测量点需要补全缺失段并估计最大温度变化率。先把数据读进来使用 numpy 和 scipy 的核心模块import numpy as np from scipy import interpolate import matplotlib.pyplot as plt # 已知测量点时间分钟和温度摄氏度 t np.array([0, 5, 10, 15, 20, 25, 35, 40, 45, 50, 55, 60]) temp np.array([22.4, 23.1, 24.0, 25.2, 26.3, 27.1, 28.0, 28.4, 28.9, 29.3, 29.6, 29.8]) # 需要补全的时间范围第 26 到 34 分钟之间的任意时刻 t_interp np.linspace(20, 40, 200) # 取 20 到 40 分钟便于展示边界效果这里的关键是 t 数组并非等间距。实际采集很难保证严格每 5 分钟一个点scipy 的插值函数天然支持非等距节点不需要先重采样。把数据画出来看一眼原始形态确认没有异常跳变再做插值。3.2 分段线性插值与 cubic 插值的代码实现先实现最朴素的分段线性插值用来作为基线。它的优势是永远不会超调缺点是不光滑# 分段线性插值kindlinear f_linear interpolate.interp1d(t, temp, kindlinear, fill_valueextrapolate) temp_linear f_linear(t_interp) # 三次样条插值kindcubic 使用 C2 连续条件 f_cubic interpolate.interp1d(t, temp, kindcubic, fill_valueextrapolate) temp_cubic f_cubic(t_interp)interp1d是最常用的接口参数中 kind 决定插值类型linear、quadratic、cubic对应不同连续性阶数。fill_valueextrapolate表示对插值范围之外的点做外推这在建模中要谨慎默认应该是返回空值或者报错只有当你确信边界外趋势能延续时才开启外推。画出两条曲线的差异你会发现 cubic 在中间缺失段明显更流畅而 linear 在节点处会出现折角。但注意这并不代表 cubic 更好——如果你后续要对温度求变化率linear 的导数是分段的常数值在节点处会突变直接影响最值判断。3.3 样条插值参数调优平滑系数与节点密度scipy 还有一个更底层的接口CubicSpline它能让你直接控制边界条件。这是建模里调参最值得花时间的地方from scipy.interpolate import CubicSpline # 默认边界条件not-a-knot两端点附近的曲线更平稳 cs_default CubicSpline(t, temp) # 指定自然边界条件边界处二阶导数为 0 cs_natural CubicSpline(t, temp, bc_typenatural) # 指定边界导数值前 3 分钟约 0.12 °C/min后 3 分钟约 0.08 °C/min cs_clamped CubicSpline(t, temp, bc_type((1, 0.12), (1, 0.08))) temp_cs cs_clamped(t_interp)边界条件的差异在端点附近非常明显。默认的 not-a-knot 条件假设前两个区间使用同一个三次多项式适合大部分数据natural 条件适合两端变化平缓的场景clamped 条件需要额外提供边界导数值适合你知道物理约束的情形。在建模论文里我建议把三种边界情况都跑一遍观察缺失段结果是否稳定。如果曲线形态对边界条件极其敏感说明已知样本不足应该补充数据而不是继续加密插值点。还有一个常见做法是使用splprep或splev做带平滑参数的样条拟合它允许曲线不严格穿过每个点。但必须强调这已经是拟合了不是插值。如果题目明确要求补全数据就不应该引入平滑系数否则评阅老师会质疑你对基本概念的把握。# 平滑样条示例仅当数据带噪声且允许不穿过点时才使用 from scipy.interpolate import splprep, splev # 这里展示语法建模中请先确认题目是插值还是拟合 tck, u splprep([t, temp], s0.5) # s 为平滑系数0 表示纯插值 new_points splev(np.linspace(0, 1, 200), tck)参数 s 是平滑系数s 越大曲线越光滑但离点越远s0 就退化为插值。这个参数需要反复尝试不能直接取默认值。我的经验是从 s0 开始一点点增大观察曲线在缺失段的斜率是否出现物理上不合理的反转一旦出现就回调。4. 插值建模避坑指南这 5 个问题让新手在评阅时丢分4.1 现象插值曲线穿过全部点却得到一条抖的线这在多项式插值中极其常见。超过 10 个数据点还坚持用拉格朗日插值曲线会在中间段疯狂上下摆动。原因就是高次多项式为了强行穿过所有点在节点附近产生了数值振荡龙格效应。解决方式也很直接换成三次样条分段插值把高次多项式拆成多个三次多项式拼接。实际操作时用interp1d(kindcubic)就能避免抖动。如果抖动只出现在端点附近可以检查数据是否有误或者改用 PCHIP 来保留单调性。4.2 现象边界处上下震荡明明数据很平稳样条插值的默认边界条件并不总是适合你的数据。当原始数据在一端有明显趋势时默认的 not-a-knot 条件可能让曲线在端点外冲出一个不该有的峰或谷。我遇到过一组温度数据最后 5 分钟已经开始回落但样条曲线在末端继续上翘导致外推值严重偏离。排查步骤是先画图看端点附近曲线曲率再用CubicSpline显式指定bc_typenatural或clamped边界导数。如果指定边界条件后曲线形态发生剧烈变化说明数据本身信息量不足不要在论文里强行选一个看着好看的边界。要如实说明边界假设。4.3 现象用插值结果求导数值异常大插值函数可以用来求导但前提是插值方法有足够的连续阶数。用分段线性插值求一阶导数结果在每个小区间内是常数且相邻区间之间导数跳变如果这个跳变很大是因为数据本身存在噪声或测量误差而插值把噪声也当成了真实变化。解决方法是不要直接对插值函数求导而是先对原始数据做平滑或拟合得到光滑函数后再求导。另一种做法是使用CubicSpline的derivative()方法但求导前要确认原始数据没有毛刺噪声。# 正确求导示例对三次样条求一阶导 cs CubicSpline(t, temp, bc_typenatural) cs_d1 cs.derivative(1) # 返回一阶导数函数 max_slope_time t_interp[cs_d1(t_interp).argmax()] print(f温度变化率最大的时间点约为 {max_slope_time:.1f} 分钟)这里derivative(1)返回一个新函数可以直接代入一组时间点求值。argmax得到的是采样点上的最大值位置更精确的做法是用scipy.optimize.minimize_scalar对导数函数求极值。但要注意导数值对插值参数极敏感论文里应该给出区间估计而不是单点值。4.4 现象在高维数据上套用一维插值结果混乱建模题目经常给出二维甚至三维的网格数据比如地形高程、温度场分布。很多同学把一维插值脚本直接拿过来对每一行单独插值结果出现条纹感相邻行的插值结果交叉或断裂。一维插值的核心是自变量为一个维度而网格数据至少有两个自变量应该用RegularGridInterpolator或griddata。前者适合规则网格后者适合散点数据。建模中地形、气象场都属于规则网格优先用前者。from scipy.interpolate import RegularGridInterpolator # 假设 x、y 为规则网格坐标z 为对应高程 x np.linspace(0, 100, 11) y np.linspace(0, 80, 9) z np.random.default_rng(42).random((9, 11)) # 形状为 (len(y), len(x)) interp RegularGridInterpolator((y, x), z, methodlinear) # 查询非网格点 point np.array([[30.5, 66.2]]) print(interp(point))注意坐标顺序是和数组形状对齐的。z的第一维对应y的坐标第二维对应x的坐标这和图像数组的行列习惯一致写反了会得到完全错误的结果。使用前最好打印一个已知点验证。4.5 现象把插值当拟合用导致过拟合这是建模论文中最致命的定性错误。某些赛题给的数据本身带噪声合理的做法是用曲线拟合表达趋势。但有人为了让曲线穿过所有点用插值结果模型把噪声都学进去了测试集误差巨大。判断标准很简单数据是否有重复测量是否有置信区间如果数据点本身是多次测量取平均的结果可能允许插值如果每次测量值都不一样且分散度高必须用拟合。论文里写清楚本问题采用拟合而非插值是因为数据存在随机误差会加印象分。另外一个隐蔽问题是数据量不够时强行插值。只有 4 个点却要用三次样条虽然是可行的但这些点之间的曲线完全由三次多项式假设决定几乎不具备预测能力。这种时候就应该改用线性插值加灵敏度分析承认结果的不确定性而不是在论文里摆一条看似精细的曲线。5. 让插值结果在论文里站得住验证与输出的三个习惯插值做完只是第一步论文里的呈现方式决定了评阅老师是否信任你的结果。我有三个坚持了很久的习惯分享给你。第一个习惯是误差分解。留出已知的样本点不参与插值用插值函数回代计算这些点的值与真实值的差。这个叫交叉验证。如果误差在可接受范围说明插值函数稳健如果误差很大说明节点分布或方法选错了。实际操作中我从 12 个已知点里抽掉 2 个点做插值回代误差控制在了 0.2 摄氏度以内这才敢用于缺失段补全。这个验证过程不仅体现严谨性也是答辩时评委经常追问的点。第二个习惯是画置信带。三次样条插值结果是唯一的但不代表它就是真值。合理的做法是设置不同边界条件、不同子集组合计算多组插值结果把结果的范围作为带绘制在图上。比如我常做的是把数据随机打乱顺序后重新插值记录每条曲线的最大值和最小值范围最终输出结果给一个区间而不是单值。这个做法能有效应对你的插值凭什么准确的问题。第三个习惯是把插值结果与物理意义对照。插值曲线的一阶导数、二阶导数是否在合理范围是否出现不该出现的负值或转折点这个习惯帮我挡掉过不少尴尬有一次补全流量数据三次样条在缺失段产生了局部负流量而实际物理过程根本不可能是负的。后来换了 PCHIP 保形插值问题立刻消失。从那次以后我的代码里默认就是先检查导数符号再决定是否接受这条插值曲线。这些习惯最终都指向同一件事插值不是数学游戏它是建模决策的一部分。你选择哪种方法、设置什么边界条件、如何验证都能体现出对数据和问题的理解深度。希望这些踩出来的经验能帮你在建模路上少走弯路让插值真正成为你手里的工具箱而不是玄学黑匣子。本文还有配套的精品资源点击获取

相关新闻

Gridex 数据库工具安全设计全解析:凭据 Keychain 本地存储、零云同步、零遥测如何保护你的数据

Gridex 数据库工具安全设计全解析:凭据 Keychain 本地存储、零云同步、零遥测如何保护你的数据

【免费下载链接】gridex A native macOS / windows / Linux database IDE built with Swift and AppKit. Connect to PostgreSQL, MySQL, SQLite, and Redis from a single app with a fast, keyboard-driven interface. 项目地址: https://gitcode.com/gh_mirrors/…

2026/10/11 21:39:33 阅读更多 →
Android MVVM 示例 Demo:从分层到状态收敛的完整实践

Android MVVM 示例 Demo:从分层到状态收敛的完整实践

简介:这份资源是面向Android开发者、尤其是希望从MVC或MVP转向MVVM架构的中级学习者的示例Demo,通过完整可运行的项目演示Model、View、ViewModel三层如何协作,解决架构分层不清、UI逻辑臃肿、数据与视图耦合过紧等常见问题。压缩包共737个文…

2026/10/11 21:39:32 阅读更多 →
拆解硬汗健身的男性向设计:从睾酮差异到AI计划引擎的性别适配逻辑

拆解硬汗健身的男性向设计:从睾酮差异到AI计划引擎的性别适配逻辑

文章目录一、性别差异:健身App设计里被低估的变量二、生理学地基:为什么男性健身该走"力量增肌"路线三、技术设计原理一:AI定制计划的性别适配四、技术设计原理二:动作库与器械双场景的男性导向五、产品定位对比&#x…

2026/10/11 21:39:32 阅读更多 →

最新新闻

采矿CAD课程设计PPT:从软件操作到工程表达的全链路建模

采矿CAD课程设计PPT:从软件操作到工程表达的全链路建模

简介:本资源是一份面向高校采矿工程、地质环境与安全工程专业学生的《采矿CAD课程设计》教学课件,聚焦矿山地质环境治理与生态保护的CAD辅助设计实践。课件系统梳理了矿山地质环境定义、矿区生态破坏成因(含景观与生态双重破坏)、…

2026/10/12 0:54:26 阅读更多 →
桌面调度台 vs 云端 Agent 平台:Orca、美团 CatPaw、NVIDIA 路由器的三条路线谁先跑通

桌面调度台 vs 云端 Agent 平台:Orca、美团 CatPaw、NVIDIA 路由器的三条路线谁先跑通

桌面调度台 vs 云端 Agent 平台:Orca、美团 CatPaw、NVIDIA 路由器的三条路线谁先跑通 【免费下载链接】orca Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and …

2026/10/12 0:54:26 阅读更多 →
Kubernetes Python 客户端 V1beta2ResourceClaim 模型详解:Dynamic Resource Allocation 资源声明的完整 API 参考

Kubernetes Python 客户端 V1beta2ResourceClaim 模型详解:Dynamic Resource Allocation 资源声明的完整 API 参考

后端云原生容器编排 【免费下载链接】python Official Python client library for kubernetes 项目地址: https://gitcode.com/gh_mirrors/python1/python 点击查看 免费下载 导读 本文面向使用官方 Kubernetes Python 客户端(本项目仓库 gh_mirrors/p…

2026/10/12 0:54:26 阅读更多 →
CodeIgniter 4 Request 类详解:HTTP 请求的面向对象封装与全局数据安全访问

CodeIgniter 4 Request 类详解:HTTP 请求的面向对象封装与全局数据安全访问

后端Web框架 【免费下载链接】CodeIgniter4 Open Source PHP Framework (originally from EllisLab) 项目地址: https://gitcode.com/gh_mirrors/co/CodeIgniter4 点击查看 免费下载 本指南以 CodeIgniter 4 官方用户指南 request.rst 为主体,系统讲解框…

2026/10/12 0:54:26 阅读更多 →
Vibe Coding 的边界:从“70% 问题“到“80% 墙“,AI 编程五大局限性与人机分工深度解析

Vibe Coding 的边界:从“70% 问题“到“80% 墙“,AI 编程五大局限性与人机分工深度解析

文档教程Vibe Coding示例工程 【免费下载链接】vibe-vibe The First Systematic Vibe Coding Open-Source Tutorial | From Zero to Full-Stack, Empowering Everyone to Build Products with AI | Live at: www.vibevibe.cn ;首个系统化 Vibe Coding 开源教程 | 零…

2026/10/12 0:53:26 阅读更多 →
不用模拟器也能玩PS5游戏?拆解AnyPS5的“非模拟器魔法“:relinker重链接+PRX库+RDNA到SPIR-V

不用模拟器也能玩PS5游戏?拆解AnyPS5的“非模拟器魔法“:relinker重链接+PRX库+RDNA到SPIR-V

不用模拟器也能玩PS5游戏?拆解AnyPS5的"非模拟器魔法":relinker重链接PRX库RDNA到SPIR-V 【免费下载链接】AnyPS5 Tool for automatic PS5 executables porting to Linux and Windows 项目地址: https://gitcode.com/GitHub_Trending/an/Any…

2026/10/12 0:53:26 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →