2017-10-11 66 views
0

期间我使用从scipy.optimizeminimize功能。 有没有一种方法来打印一些值时优化过程?像当前的x值,目标函数值,迭代次数和梯度评估次数。SciPy的优化 - 查看步骤程序

我知道有些选项可以保存这些值,并在之后返回优化结束。但是,我可以在每一步看到他们吗?

+1

是,通过定义一个回调。这是平凡的X做的,但对其他两个用例,你应该换那些功能(手动计数),可能缓存OBJ了。 (你必须决定是否DISP足够你;它可能在很大程度上取决于最小化方就如何详细它是)也就是说 – sascha

+0

吧!我没有注意文档上的这个选项。谢谢! –

回答

0

minimize函数需要options字典作为关键字参数。该字典接受键inlude,disp,这应设置为True打印的最小化的进度。

+0

我有'disp'选项设置为'True'。它只显示过程完成后的输出,而不显示过程中的输出。 –

+0

然后我不知道你在过程中是什么意思。这应该在解算器的每一步打印出关于目标,渐变等的信息。你想在每个*功能评估*这个信息? – bnaecker

+0

我认为你正确地理解了它。这确实是在每次迭代中,但“disp”选项不会这样做。 @sascha告诉我有关'callback'选项的信息,它在每一步都给出了'x'的值。谢谢您的帮助! –