news 2026/6/10 16:50:54

Flow-Planner疑问汇总

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flow-Planner疑问汇总

一、Flow-Planner中ODE求解器使用的Midpoint和两倍步数的Euler法有啥区别?

#位置在torchdiffeq/torchdiffeq/_impl/fixed_grid.pyclassEuler(FixedGridODESolver):order=1def_step_func(self,func,t0,dt,t1,y0):f0=func(t0,y0,perturb=Perturb.NEXTifself.perturbelsePerturb.NONE)returndt*f0,f0classMidpoint(FixedGridODESolver):order=2def_step_func(self,func,t0,dt,t1,y0):half_dt=0.5*dt f0=func(t0,y0,perturb=Perturb.NEXTifself.perturbelsePerturb.NONE)y_mid=y0+f0*half_dtreturndt*func(t0+half_dt,y_mid),f0

写成公式,Euler(欧拉)法
xt+Δt=xt+Δt⋅v(xt,t) x_{t+\Delta t}=x_t+\Delta t \cdot v(x_t,t)xt+Δt=xt+Δtv(xt,t)

Midpoint法,分两步
xt+Δt2=xt+Δt2⋅v(xt,t)xt+Δt=xt+Δt⋅v(xt+Δt2,t+Δt2) \begin{align*} x_{t+ \frac{\Delta t}{2}}=x_t+ \frac{\Delta t}{2} \cdot v(x_t,t) \\ x_{t+ \Delta t}=x_t+ \Delta t \cdot v(x_{t+ \frac{\Delta t}{2}},t+\frac{\Delta t}{2}) \end{align*}xt+2Δt=xt+2Δtv(xt,t)xt+Δt=xt+Δtv(xt+2Δt,t+2Δt)

首先给出结论

midpoint ≠ 两倍步数的 Euler 即使在相同步长总预算下,midpoint 在“方向正确性”和稳定性上本质更强,而不是简单“多算一次”。Euler ×2 是先走到中点,再走到下一个点,而midpoint是利用中点得到的方向,从起点开始走。

原因是

第一步都一样,第二步的起点不同,两倍euler是从中点时刻(t+Δt2t+\frac{\Delta t}{2}t+2Δt)开始,midpoint从最初时刻ttt开始,所以midpoint和两倍步数的Euler是不一样的。
为啥midpoint就比Euler效果好?为啥midpoint是二阶求解器,euler就是一阶呢?
这里需要用到泰勒展开公式,
对ODE:dxdt=f(x,t)\frac{dx}{dt} = f(x,t)dtdx=f(x,t)做泰勒展开
x(t+Δt)=x(t)+Δtf(xt,t)+Δt22ddtf(xt,t)+O(Δt3) x(t+\Delta t)= x(t)+ \Delta t f(x_t,t)+ \frac{\Delta t^2}{2}\frac{d}{dt}f(x_t,t)+ O(\Delta t^3)x(t+Δt)=x(t)+Δtf(xt,t)+2Δt2dtdf(xt,t)+O(Δt3)
euler求解只用到了Δtf(xt,t)Δtf(x t,t)Δtf(xt,t),所以是一阶的。

midpoint?????

二、classifier-free guidence时的系数为啥大于1



对应代码

ifself.use_cfg:u_cond,u_uncond=torch.chunk(u,2)# the unconditioned batch is the first halfu=(1-self.cfg_weight)*u_uncond+self.cfg_weight*u_cond#速度场组合
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:42:15

测试转网络安全如何弯道超车?

目录😭 测试的痛,谁懂?1. 重复劳动,永无止境2. 被动等待,毫无主动权3. 技术含量低,成长受限❓ 转行网安1. 测试经验,天然就是安全优势2. 技能高度重叠,转型零成本3. 工作模式更自由&…

作者头像 李华
网站建设 2026/6/10 10:34:07

RHCSA结课综合作业

一、项目架构(1)整体结构1、使用LNMP环境Discuz论坛源程序2、LNMPLinuxNginxmariablePHP(2)Nginx1、最初于2004年10月4日为俄罗斯知名门户站点而开发的2、Nginx是一款轻量级的网站服务软件,因其稳定性和丰富 的功能而深…

作者头像 李华
网站建设 2026/6/10 10:42:36

异常检测:提示工程架构师如何识别提示数据中的异常行为?

异常检测:提示工程架构师如何识别提示数据中的异常行为? 引言:当提示成为关键基础设施 在当今以大型语言模型(LLM)为核心的应用架构中,提示(Prompt) 已经从简单的指令语句&#xff0…

作者头像 李华
网站建设 2026/6/10 8:14:50

springboot_ssm811基于web的特殊药品商城管理系统--论文

目录具体实现截图摘要系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 摘要 随着互联网技术的快速发展,电子商务系统在各行业的应用日益广泛。特殊药品作为医疗领域的重要组成部分&am…

作者头像 李华