gpt4 book ai didi

python - 在 scipy.optimize 中恢复优化?

转载 作者:太空狗 更新时间:2023-10-30 00:05:39 25 4
gpt4 key购买 nike

scipy.optimize 为多变量系统的局部和全局优化提供了许多不同的方法。但是,我需要进行很长的优化运行,可能会被中断(在某些情况下,我可能想故意中断它)。有什么办法可以重新启动……好吧,其中任何一个?我的意思是,显然可以提供最后一组最优化的参数作为初始猜测,但这并不是唯一的参数——例如,还有梯度(例如雅可比矩阵)、差分进化中的种群等.我显然不希望这些也必须重新开始。

我看不出有什么办法可以向 scipy 证明这些,也没有办法保存它的状态。对于以 jacobian 为例的函数,有一个 jacobian 参数(“jac”),但它要么是一个 bool 值(表明您的评估函数返回一个 jacobian,而我的没有),要么是一个可调用函数(我只会提供上次运行的单一结果)。没有什么只需要最后一个可用的 jacobian 数组。对于差异进化,种群的损失对于性能和收敛来说将是可怕的。

有什么解决办法吗?有什么方法可以恢复优化?

最佳答案

一般的答案是否定的,除了如您所说,从上一次运行的最后估计开始之外,没有一般的解决方案。

不过,对于差分进化,您可以实例化 DifferentialEvolutionSolver,您可以在检查点对其进行 pickle,然后取消 pickle 以恢复。(建议来自https://github.com/scipy/scipy/issues/6517)

关于python - 在 scipy.optimize 中恢复优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40002172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com