2017-10-11 119 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'的值。謝謝您的幫助! –