基于出行链的电动汽车充电策略优化:Matlab实现与工程实践
做电动汽车出行相关仿真的时候我一开始跟大多数人一样习惯把每一次出行当成一个独立的片段来处理——从A点到B点算个里程估个电耗然后决定要不要充电。直到有一次我拿真实用户的轨迹数据去跑充电策略优化发现算出来的最优方案在实车上根本没法执行因为忽略了上午出门、下午回家、晚上去接孩子、夜里再去超市这条完整的活动链。那次之后我才真正意识到出行不能拆开看得把一整天的行程串成链条来建模于是就有了这个基于出行链的电动汽车优化程序。整个过程用Matlab实现前前后后改了七个版本这篇文章就把这条路从头到尾捋一遍包括出行链模型怎么搭、优化问题怎么形式化、Matlab代码怎么组织以及调参时踩过的那些坑。这个程序主要解决什么问题呢简单说它解决的是已知一辆电动车一天要跑若干段行程每段行程有起点、终点、出发时间、活动类型车载电池有容量上限和充放电约束沿途有若干充电站每个站点有充电功率、价格、开放时间你要决定在哪充、充多少、什么时候充使得全天的总成本最低同时保证所有行程都能按时跑完。它适合三类人参考做电动汽车充电策略研究的同学、搞交通能源耦合仿真的工程师以及想用Matlab把出行行为能量管理串起来做毕设或课题的研究生。1. 为什么单次行程假设会让充电策略失真先聊聊我最早的版本为什么不好用。第一版程序里每段出行都是独立优化的——从家到公司这段看电池够不够不够就找个桩充从公司到超市那段又重新判断一次。表面上看逻辑没毛病但实际跑真实数据的时候发现三个严重问题。第一个问题是充电机会被重复计算。比如上午从家出发时电池剩60%去公司只要15%的电按单段行程的逻辑根本不需要充。但真实的用户可能中午要去一趟客户现场下午还要去机场接人全天总里程远大于单段。如果只看眼前这一段就会错过早上在家趁电价低把电充满的更优解。第二个问题是到达时间的约束没法传递。单段模型里只要出发前电池够就行但出行链里上一段如果因为充电耽误了出发时间下一段就全部连锁推迟用户的到达时间窗就被打破了。第三个问题最致命——电池SOC的最优终点不是固定的。单段模型通常假设到达目的地时电池不低于某个阈值就行但为了全天总成本最小你最好让车在下一次能便宜充电的地方保持低电量在下一次充电很贵的地方之前多留裕量。这个决策只有看到整条链才能做。所以出行链的本质是把一天的出行看作一个首尾相连的序列每段行程的能耗取决于这一段的路程和交通状况每段之间的停留点家、公司、商场既是活动场所也是潜在的充电地点。优化程序要做的就是在整个序列上找到一组充电决策让一天的充电费用、时间成本、里程焦虑这三者的加权总和最小。这里有个很关键的概念叫停留驻点。在出行链模型里驻点就是两次出行之间的停靠点比如家—公司—超市—家这条链有四个驻点含起终点每个驻点都允许插入充电行为。但现实中不是每个驻点都方便充电——家的车位有没有私桩、公司楼下有没有公共桩、超市停车场是什么功率的快充这些都会影响充电决策的可行域。我的程序里把驻点分成了三类有私桩的住宅驻点、有固定公共桩的工作驻点、只能用社会快充的随机驻点每种驻点的充电功率曲线和电价模型都不一样。2. 出行链数据从哪里来两种生成方式搞出行链仿真第一步得先有链。我试过两条路一条走的是宏观统计抽样一条走的微观轨迹重构两条路各有适用场景。方式一基于出行调查数据的状态转移抽样。很多城市都有居民出行调查Travel Survey数据里每一条记录包含一个用户全天依次访问的地点类型家H、工作W、购物S、休闲L等、出行开始时间、出行时长。把这些记录按人聚合就能统计出从家出发下一站是公司的概率、从公司出发下一站是超市的概率形成一个状态转移矩阵。跑仿真的时候从在家这个初始状态出发按转移矩阵一条条抽出行目的地再给每条出行附上距离和时间一条完整的出行链就出来了。这条路的好处是不需要细颗粒度的GPS数据只要有统计表就能生成大批量样本适合做群体层面的策略对比。方式二基于车辆轨迹数据的链切分。如果手里有带时间戳的GPS轨迹点那么出行链可以从轨迹里直接切出来。切分算法其实不复杂轨迹点先做停留检测——连续15分钟以上位置变化小于一个阈值我这边取的50米就认为进入了一个停留驻点然后把两个驻点之间的轨迹点归为一段出行。OpenStreetMap的路网匹配可以做但Matlab里更轻量的做法是用Haversine公式算轨迹累计距离再用距离和平均车速估出行时间。我在程序里提供了一个tripChainFromGPS函数输入是时间戳、经纬度、速度和停留阈值输出是一个结构体数组每个元素包含起点驻点、终点驻点、出行距离、预计能耗和出发时间。两种方式对比看状态转移抽样适合没有具体用户数据、要做宏观场景推演的情况轨迹重适合手上有真实数据、要做个体精细化决策的场景。我实际项目里是混合用的先用调查数据生成一批链结构再用真实轨迹数据里的典型链做校验和参数标定。这里有个容易被忽略的坑——状态转移抽样生成的链条长度分布往往偏短因为调查数据里一场长链被用户拆成了多段短链上报聚合时状态转移概率会倾向于停留更多次。解决办法是给转移矩阵加一个最小链长惩罚或者对单日出行次数超过5次的记录做合并校验。3. 把出行链优化问题写成数学模型有了出行链下一步是把它变成计算机能解的优化问题。这一步是整个程序里最见功力、也最容易被新手写糊的地方。我建议先别急着写代码拿一张大纸把状态变量、决策变量、约束条件全列清楚。我最后定下来的模型长这样。整个优化问题的输入参数包括出行链的N个驻点序列每段出行的起终点、行驶距离、平均电耗电池容量、起始SOC、最低SOC保护值每个驻点可用的充电桩类型、数量、功率、电价曲线以及用户对时间成本和里程焦虑的权重偏好。决策变量是每个驻点是否充电、充电开始时间、充电结束时间或充电量。目标函数是最小化一天的总费用包含三部分——充电电费、充电过程中的时间成本机会成本、以及电池电量过低带来的心理焦虑成本。这个模型有几个约束条件必须写对。第一个约束是SOC动态方程。第i段出行出发时的SOC等于第i-1个驻点充完电后的SOC减去第i段出行的能耗同时不能低于最低SOC保护值。这里一个容易出错的地方是单位换算如果电池容量用kWh电耗用kWh/km电量百分比和kWh之间得靠容量乘回来。我最早写代码时把SOC直接当成百分数做加减法跑到第三天数值就飘了后来统一改成先换算成kWh、算完再还原成百分比。第二个约束是充电站功率约束。每个驻点的充电设备有最大功率限制而且实际充电过程中功率不一定是恒定的——快充桩在80%SOC之后一般会降功率。我的程序里内置了三种充电功率曲线慢充恒功率、快充阶梯降功率、以及免费但极慢的单位插座充电。每条曲线用chargeProfile结构体存着里面是[SOC_min, SOC_max, power]三段式查表。第三个约束是时间耦合约束。第i段出行的出发时间必须等于第i-1个驻点到达时间加上该驻点的活动时长和充电时长如果充电的话并且要考虑充电排队时间——这个我做了简化用一个正态分布随机数来表示高峰期等桩的时长期望。这个约束是出行链模型跟单段模型的本质区别时间变量把各段行程绑成了一个整体。目标函数的权重设置也值得展开说一下。我用的目标函数是总成本 电费 时间成本 里程焦虑成本电费是充电量乘以对应时段的电价。时间成本包含两部分充电等待时间按用户时薪的某个比例折算充电过程中如果人在车里等机会成本更高如果人离开车去活动那这部分充电时间就被活动时间覆盖了成本接近于零。里程焦虑成本我用了一个带SOC阈值的二次函数——SOC低于20%之后焦虑值快速上升这个设计是为了让优化器在做决策时自动规避把电用到底再充的激进策略。为什么用二次函数而不是线性函数因为线性惩罚会诱导出要么完全不充、要么拼命充满的极端解而实际驾驶者更倾向于在电量到30%左右就开始找桩这种非线性能更好模拟人的心理。二次函数的系数怎么标定我拿调查问卷里您通常在SOC多少时开始考虑充电的统计中位数做初值然后拿实际充电行为数据反推修正。你们自己用的时候如果没有实测数据可以先取a2.5, b-1.2试跑再根据输出结果的充电起始SOC分布微调。4. Matlab程序架构与关键实现模型写清楚以后代码组织反而成了决定开发效率的关键因素。我这个程序前前后后重构过三次最后一次的架构我比较满意现在分享出来供参考。整个程序分四层数据层tripChainInput.m负责读入出行链、充电站信息、电价曲线。输入格式我统一用的struct数组而不是表格因为表格对嵌套结构比如每个驻点有多条可用充电记录支持不好。模型层SOC状态转移、时间耦合计算、成本计算分别封装成三个函数。关键是这三个函数只依赖输入结构体不碰全局变量测试的时候可以单独喂数据验证。求解层两个求解器。一个是针对小规模链少于8个驻点的穷举剪枝保证找到精确最优解另一个是面向大规模链10个以上驻点的遗传算法编号为GA_Core。求解层输出的统一格式是chargeDecision结构体包含每个驻点的充电状态、开始时间、结束时间、充电量。分析层结果可视化函数包含SOC变化曲线、充电事件甘特图、全天费用明细和对比基线比如无策略、电量低于20%才充的规则策略的柱状图对比。先看遗传算法的核心部分怎么实现。遗传算法的关键是把一个充电决策方案编码成一个染色体。我用的编码方式是一个三段式基因序列对每个驻点基因里存三组值——是否需要充电0/1、充电开始时间连续变量范围是驻点开始时间和驻点结束时间、充电结束时间连续变量。Matlab自带的ga函数直接处理这种混合编码不太方便所以我自己写了基本的遗传算子选择用锦标赛交叉用单点交叉对连续变量做算术交叉变异用高斯扰动加二值翻转。这里说一个实测下来的经验目标函数里SOC动态方程如果写成嵌套调用的形式遗传算法的适应度评估会非常慢因为每个个体都要跑一遍整条链的SOC递推。我的做法是把SOC递推批量向量化——把所有个体在某个驻点的SOC计算打包成数组运算这样在Matlab里利用矢量化指令能让适应度评估快8到10倍。比如计算第i段行程后的SOC数组可以一次性写SOC_after_trip SOC_before_charge - energy_consumption_of_trip./battery_capacity;而不是在循环里一个个算。这段优化做完以后跑一条5驻点链、种群规模80、迭代150轮的GA在我的笔记本上大约需要40秒完全在可接受范围内。穷举剪枝的求解器也值得讲一下。它针对的是每个驻点最多只有一个充电决策的简化场景。思路是这样把一天的时间离散成15分钟为单位的时槽每个驻点可选的动作是不充、在[时槽i, 时槽j]之间充电i、j的取值范围受限先剪掉明显不可能的方案比如充电结束时间晚于驻点结束时间、充电功率超过桩的最大功率剩下的用动态规划按驻点顺序拼出完整解。这种方式虽然理论复杂度还是指数级但实际出行链的驻点数一般就是4到7个剪枝后可行方案数大概几万个穷举完全能胜任而且能作为遗传算法解的裁判来验证最优性。项目里我用穷举解和GA解做了对比10个随机链样本中GA解的偏差基本在3%以内少数上了5%。如果你想写论文这个穷举验证近似解质量的对比表会是很好的支撑数据。5. 充电策略优化的核心算法细节这节把遗传算法里最影响效果的三个细节单独拉出来说每一个都是我反复调bug调出来的。细节一初始种群的生成不要完全随机。完全随机生成初始充电方案GA在前几十代基本是在瞎搜收敛很慢。我后来加入了三个启发式个体一个每次到驻点就满充的保守策略、一个只在电价低谷时段充的价格策略、一个电量跌到30%才开始充的里程焦虑策略剩下的个体才是随机生成。这样初始种群的质量天花板高GA能在这个基础上做组合优化。实测下来加入启发式个体之后收敛到相同目标值所需的迭代次数大约从200代降到了120代。细节二可行性修复机制比罚函数更靠谱。遗传算法的交叉和变异会产生大量不可行解——比如SOC变成负数、充电结束时间跑出驻点窗口、同一时间在同一个桩上充了两辆车。纯用罚函数的话不可行解会拖慢收敛而且罚函数系数很难调系数大了容易跳过真正的最优边界解系数小了不可行解又泛滥。我的做法是写了一个repairSolution(individual)函数对每个不可行解做三步修复先裁剪时间变量到驻点窗口内再按最后一公里优先原则把SOC小于保护值的行程段往前找最近的驻点补充电量最后检查桩的功率冲突插入排队等待时间。这个修复函数跑完以后解一定是可行的遗传算法的目标函数就不用再带惩罚项了。细节三同一驻点多桩场景怎么处理。真实场景里一个停车场可能有多个不同功率的桩甚至快慢结合。我建模时把驻点内选桩也做成一个决策维度染色体编码的充电事件里附带桩类型ID解码时根据桩类型ID查对应的功率曲线来算充电时长。如果没有这个维度程序会默认用最快的桩结果就是优化器疯狂选快充导致充电费用虚高。提示如果你们的场景里一个驻点只有一个桩、一种功率可以跳过细节三简化编码维度收敛速度还能再快一些。6. 用真实数据跑出来的结果长什么样程序搭好之后我用一组实际的城市通勤数据做了测试。测试对象是一位每天家—公司—超市—家的典型通勤者四段链总行驶里程42公里电池容量60kWh起始SOC 80%慢充私桩功率3.5kW、电价为居民阶梯电价公司楼下有7kW公共桩峰谷电价超市有50kW快充价格较高。跑出来的最优策略是早上在家不充电到公司后利用上午低电价时段补一次短充把SOC从62%提到78%下午从公司去超市的17公里预留充足裕量从超市回家后利用夜间谷电慢充充满。全天的充电总费用约11.6元比无脑满充方案省了4.2元比电量低于20%才应急充的方案省了2.8元同时全天所有行程的SOC全程没低过25%里程焦虑成本接近零。这个结果的关键洞察是最便宜的电未必是最优的电。居民谷电虽然便宜但私桩功率太低晚上回家再充需要4个多小时而用户第二天清早就要出门时间约束不满足公司上午的公共桩虽然单价略高但功率大、充电时段刚好覆盖用户的驻留时间机会成本为零所以综合成本反而最低。这种跨时段、跨地点的全局权衡正是出行链优化相比单段优化的价值所在。还测了一个极端场景电池容量降到40kWh的小型车。这种情况下优化器的行为很明显地变成了长途链前强制补电因为小电池的里程焦虑成本项权重自动抬高了。这时候程序输出的策略是在公司那段必须充满超市快充成为兜底选项而夜间谷电慢充只用来做最后的补充。如果把里程焦虑成本系数调低优化器又会走向尽量少充、赌一把的策略SOC最低值偶尔会跌破15%。这个系数就相当于驾驶者的性格旋钮——可以拿来模拟保守型、均衡型和冒险型三种用户画像做群体仿真时按不同比例混合输出的充电负荷曲线差异非常大。7. 调试过程中让我印象深刻的三个坑每个Matlab项目都有一堆藏在细节里的坑这个程序也不例外。挑三个最典型的分享。坑一时间轴用日期格式还是数值格式我最早把充电开始时间、结束时间、电价时段全用datetime类型存逻辑上很直观但是遗传算法做交叉变异的时候datetime加减法和随机数生成特别别扭而且数组运算速度比纯数值慢不少。后来我把所有时间统一转成当天零点起的分钟数0到1440的整数电价表查表转换成插值函数electricityPrice(minute)整个程序的数值运算就顺滑了。经验建模和可视化阶段用datetime没问题求解器内部一律用纯数值时间。坑二充电功率曲线查表越界。快充桩在SOC高于80%后的降功率段有些车不支持数据表里根本没记录。查表时如果SOC82%落在表外interp1会报错。我的解决方法是写了一个safeInterp函数给表头和表尾各加一个溢出值——低于最小SOC按最小功率算高于最大SOC按最大功率算并且加Pchip插值避免过冲。坑三遗传算法收敛到局部最优看不出毛病。有一次跑出来结果明显不合理——优化器选择了在同一个驻点充电两次一次是刚到时一次是临走前中间隔了3个小时。这个策略在费用上确实可行但实际场景里没有人会这么操作除非驻点活动时间足够长。根源是染色体编码允许同一个驻点产生两个充电事件遗传算法发现了这个漏洞并钻了进去。解决方式是在编码结构上增加约束——一个驻点最多一个充电事件如果要充两次必须有明确的第二段活动节点作为独立驻点。经验优化器会利用任何你漏掉的自由度约束条件宁可多写不要少写。8. 从出行链到充电负荷预测这个程序还能怎么扩展这套程序跑通之后能扩展的方向其实比我想象的多。最自然的扩展是群体出行链仿真——把单用户的出行链换成几百个用户的链条集合每个用户独立跑GA优化然后把所有用户的充电负荷按时间聚合就得到了一条区域充电负荷曲线。这个曲线对配电网规划、充电站扩容、乃至电价设计都很有用。我后来做的一个课题就是这么用的生成300个虚拟用户的全天出行链跑完聚合负荷再叠加到某小区的基础负荷曲线上看到的结果很有意思——晚高峰的充电负荷尖峰大约在下午6点跟小区居民回家时间高度重合而且快充桩的高功率请求在这个时段会把配变容量直接顶到红线这比简单估计每台车充满需要多少度电要准确得多。另外一个扩展方向是动态电价响应测试。把充电价格改成实时变动比如15分钟粒度同一个出行链在不同价格场景下跑优化能看出用户对电价的敏感度——哪些链可以顺利转移到低谷充电哪些链因为行程刚性太强根本挪不动比如上班族午休就那么一小时根本没时间等慢充。这个分析对设计分时电价套餐非常有用。还有一个小技巧可以分享程序里所有输入参数我都做成了input.json的外置配置文件参数调优不需要改动主程序代码。你可以把目标函数的权重时间成本系数、里程焦虑系数、电价表、充电桩功率曲线全放进去调参的时候直接改JSON跑一遍非常方便。如果将来数据量变大还可以把配置读写部分换成读Excel或数据库这是后话。我自己在这个项目里最大的体会是出行链优化的难点不在算法而在模型与现实约束的对齐。算法层面的GA、动态规划Matlab工具箱里都有现成的但把用户几点要接孩子停车场高峰期要排多久队电池冷了充电功率会下降这些现实要素翻译成可计算的约束和参数才是真正花时间的地方。这跟写论文不一样论文可以假设条件干干净净工程落地必须面对各种脏数据和优化器钻空子的问题。好在这套Matlab程序把最核心的建模骨架搭好了后续有人想在这个基础上加更细的交通路况函数、更复杂的电池老化模型都有清晰的扩展点。如果你也准备做类似的方向我建议先拿着这份出行链生成和优化框架跑通一个最小demo理解SOC怎么随时间、里程、充电事件耦合变化再往你关心的方向加复杂度——不要一上来就贪大求全。

相关新闻

跨卡通信决定大模型训练效率,真武V900如何把千卡拧成超级芯片

跨卡通信决定大模型训练效率,真武V900如何把千卡拧成超级芯片

单张显卡的算力早就不是秘密了,H100、MI300X、甚至国产旗舰芯片,纸面数据一个比一个漂亮。可真正做过大模型训练的人心里都清楚,千卡万卡跑起来之后,决定你是“线性扩展”还是“效率崩盘”的,根本不是单卡峰值&#xf…

2026/10/1 18:41:47 阅读更多 →
素数算法详解:从试除法到线性筛,避开这些坑

素数算法详解:从试除法到线性筛,避开这些坑

素数这玩意儿,大学课本里三行定义,实际写起来三天三夜都不一定写得干净。作为“动手学算法”系列的第04篇,这篇我打算把素数的判断、生成、进阶证明和几个容易踩的坑一次性捋清楚。不管你是为了面试刷题,还是做密码学相关开发&…

2026/10/1 18:41:47 阅读更多 →
农企信息管理平台毕业设计全攻略:从数据闭环到答辩应对

农企信息管理平台毕业设计全攻略:从数据闭环到答辩应对

做农企信息管理平台这套题,我太熟了。每年毕业季都能看到一堆人拿这类管理系统当选题,不是因为它简单,而是它恰好踩在毕业设计的“安全区”上:业务场景明确、技术栈成熟、功能边界清晰,既能展示工程能力,又…

2026/10/1 18:41:47 阅读更多 →

最新新闻

ChatGPT/Claude半价使用指南:按量计费与模型路由的工程化省钱方案

ChatGPT/Claude半价使用指南:按量计费与模型路由的工程化省钱方案

上个月核对信用卡账单时我愣了一下——ChatGPT Plus 20美金,Claude Pro 20美金,再算上偶尔往API里临时充值的零头,一个月小40美金就这么没了。身边不少朋友其实都踩在同一个坑里:看到AI订阅就咬牙上了,实际用量根本没跑…

2026/10/1 19:18:04 阅读更多 →
Oracle重做日志组扩容实战:从判断依据到在线操作全流程指南

Oracle重做日志组扩容实战:从判断依据到在线操作全流程指南

做Oracle数据库运维这行,早晚都会碰到重做日志组扩容的需求。我在重庆思庄做数据库技术支持这些年,处理过不少核心生产库因为业务量上来、日志切换过于频繁导致性能下降的案例,Oracle重做日志组扩容几乎是最常见的变更操作之一。这篇文章把我…

2026/10/1 19:18:04 阅读更多 →
从零构建AI工程能力:数据、模型与推理服务实战指南

从零构建AI工程能力:数据、模型与推理服务实战指南

1. 从零搭建AI工程能力:为什么我劝你别一上来就调包这两年“AI工程”这个词被说得太多了,多到有点变味。招聘JD上写着“熟悉AI工程化落地”,点进去一看,要求会调三个API、会写Prompt、会用某个框架搭个Demo。说实话,这…

2026/10/1 19:18:04 阅读更多 →
AI性能优化安全指南:Algocode差分测试与回滚机制实践

AI性能优化安全指南:Algocode差分测试与回滚机制实践

1. 性能优化这件事,为什么让人又爱又怕 做开发的人都有一个共识:功能跑通只是及格线,性能才是拉开差距的地方。但真到了要动手改代码优化性能的时候,绝大多数人的第一反应不是兴奋,而是心虚。原因很简单—— 功能代码…

2026/10/1 19:18:04 阅读更多 →
Agent记忆架构实战:基于MCP与Docker的hindsight记忆层设计

Agent记忆架构实战:基于MCP与Docker的hindsight记忆层设计

1. 从“hindsight”说起:为什么Agent的记忆问题值得单独拎出来做“hindsight”这个词本身很有意思,字面意思是“事后的洞察力”,也就是我们常说的“后见之明”。把这个词放到Agent Memory(智能体记忆)的语境里&#xf…

2026/10/1 19:18:04 阅读更多 →
Windows平台搭建标准NTP服务器的三大可行方案

Windows平台搭建标准NTP服务器的三大可行方案

1. 为什么Windows自带的w32time不是真正的NTP Server——从协议层看本质差异很多人在搜索“Windows NTP server”时,第一反应是:Windows系统里不是自带时间服务吗?点开服务列表找到w32time,右键启动,再改个注册表&…

2026/10/1 19:17:04 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →