2017-04-09 23 views
0

最適化ライブラリpyOptを実行しようとすると、TypeErrorsが発生します。私が実行しようとしているコードは、hereという基本的な例です(私はSLSQPソルバーのみをテストしています)。PyOptライブラリでSLSQPソルバを使用した場合のTypeError

私は、エラーが原因でhere与えられた答えのnumpyの変化に起因している疑いがあるgg = numpy.zeros([la], numpy.float) TypeError: only integer scalar arrays can be converted to a scalar index

la = numpy.array([max(m,1)], numpy.int) ソルバー

の実行中に次のエラーを取得しています。そうであれば、ライブラリを動作させるための私の選択肢は何ですか? numpyのダウングレードを考えることはできますが、私のシステムでは他のライブラリに予期せぬ変更を加えることは望ましくありません。

Ubuntu 14.04でnumpyで1.12.1のPython 2.7を使用する。

答えて

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を使用するように切り替えただけで満足しています。

関連する問題