2017-04-09 53 views
0

嘗試運行優化庫pyOpt時出現TypeErrors錯誤。我試圖運行的代碼是給出的基本示例here(我只測試SLSQP求解器)。在PyOpt庫中使用SLSQP解算器時出現TypeError

我的求解器

la = numpy.array([max(m,1)], numpy.int) gg = numpy.zeros([la], numpy.float) TypeError: only integer scalar arrays can be converted to a scalar index

執行我懷疑的錯誤是由於因爲給here答案在numpy的變化過程中得到以下錯誤。如果是這樣,我有什麼選擇讓圖書館工作?我可以考慮降級numpy,但是我不希望對系統中的其他庫有任何未知的更改。

在Ubuntu 14.04上使用Python 2.7與numpy 1.12.1。

回答

0

用lz替換lz [0] - 問題出在你提到的numpy版本上。

/usr/local/lib/python2.7/dist-packages/pyOpt/pySLSQP/pySLSQP.py

我把它通過改變線路

374  gg = numpy.zeros([la[0]], numpy.float) 
377  dg = numpy.zeros([la[0],n+1], numpy.float) 
401  w = numpy.zeros([lw[0]], numpy.float) 
404  jw = numpy.zeros([ljw[0]], numpy.intc) 

跑最後我遇到錯誤在執行過程中,不是python錯誤,而是在編譯代碼運行期間遇到的錯誤,所以我只是切換到使用pyGMO2,我很滿意。

相關問題