【发布时间】:2016-03-04 03:34:20
【问题描述】:
我在集群上运行scipy.optimize.minimize(method='L-BFGS-B')。运行时间超过 72 小时的任务将被终止,并且没有任何保存结果的选项。有没有办法在 T=48h 的运行时间过去后退出scipy.optimize.minimize()?
【问题讨论】:
-
您可以使用
callback方法。请注意,您只能在完成一个完整的迭代步骤后停止。如果您的函数值评估或梯度非常昂贵,您必须考虑到这一点。 -
或者,只允许“少量”迭代,保存该结果,然后使用返回值重新启动。问题是大还是复杂,或两者兼而有之?
-
问题很大(100 到 1000 个自变量)而且很复杂。经过少量迭代后,我确实可以重新启动。然而,它也有其缺点,因为 BFGS 算法使用来自先前迭代的信息,因此不会超过 10 个。我不知道如何使用回调函数停止优化。我只设法提出了一个错误。你能解释一下吗?
标签: python scipy runtime minimize