我使用scipy.optimize
来最小化12个参数的函数。
我前一段时间开始优化,但仍在等待结果。
是否有一种方法可以强制scipy.optimize
显示其进度(例如已经完成了多少,当前的最佳点是什么?)>>
我使用scipy.optimize最小化12个参数的函数。我前一段时间开始优化,但仍在等待结果。有没有一种方法可以强制scipy.optimize显示其进度(...
正如mg007所建议的,某些scipy.optimize例程允许使用回调函数(不幸的是,smastsq目前不允许这样做)。下面是使用“ fmin_bfgs”例程的示例,在该例程中,我使用回调函数在每次迭代时显示参数的当前值和目标函数的值。
[@ joel的例子之后,有一种巧妙而有效的方法来做类似的事情。下面的示例演示如何摆脱global
变量,call_back
函数和多次重新评估目标函数
尝试使用:
您到底使用了哪个最小化功能?
下面是对我有用的解决方案:
[scipy中的许多优化程序确实缺少详细的输出('trust-constr'的scipy.optimize.minimize
方法是例外)。我遇到了类似的问题,并通过在目标函数周围创建包装器并使用了回调函数来解决了该问题。这里不执行其他功能评估,因此这应该是一个有效的解决方案。