2017年11月2日木曜日

Anaconda環境でのpyOptの使用

pyOptとはPython用最適化ソルバツールボックスである。バージョンが1.2.0になったあと、更新が止まっている点が気になるが、SLSQPもSciPyデフォルトより根性がある(ようなきがする)上に、SDPENなど最新のソルバが使える点に魅力がある。またParallel pythonは関数レベルでお気楽に並列分散処理ができるので、これまた魅力的である。どちらも現在開発中のpython版13C代謝フラックス解析用ツールボックスで活用している。一方、最近のPythonのトレンドはAnacondaであろう。仮想環境+パッケージ管理システム+有用てんこ盛りなため、最近のWindows+Python環境構築のファーストチョイスになっている。話題のTensorFlowとかもAnacondaが前提らしい。そこでWindows+AnacondaでpyOptを動かす方法を調べてみたので忘備録として記す。


1. windowsのユーザー名(フォルダ名)は1 byteアルファベット、スペースなしであること
× 松田
× Fumio Matsuda
〇 fumiomatsuda
2. Anaconda 64bitをインストール (ver 5.0.1だった)
3. 仮想環境 pyflux を構築 Anaconda promptを起動
> conda create -n pyflux python=2.7 numpy=1.10 scipy=0.17 matplotlib=1.5
Anaconda用pyOptはnumpyのバージョン依存。1.9では低すぎ、最新版ではnumpyの仕様変更でエラーが出る。

4. 仮想環境を起動
> activate pyflux

4. mingw64_dllをダウンロード
ファイルを解凍して、
libgcc_s_seh-1.dll
libgfortran-3.dll
libquadmath-0.dll
を仮想環境のLibrary/binにコピー

5. pyOptをインストール
> conda install -c mutirri pyopt
mpi4pyで何やらエラーが出るが無視

6. pyOptの動作確認
> python
でpythonの起動
>>> import pyOpt
>>> pyOpt.SLSQP()
<pyOpt.pySLSQP.pySLSQP.SLSQP object at 0x00000000035A21D0>
という感じでエラーが出なければOK
>>> quit()
で終了

7. parallel pythonのインストール
http://www.parallelpython.com/から pp-1.6.5.zip をダウンロードする。
解凍したフォルダで
>python setup.py install

8. parellelpythonの動作確認
> python
でpythonの起動
>>> import pp
で確認

9. spyderのインストール
> conda install spyder

10. pyflux環境でのspyderの起動
pyfluxをactivateした状態で
> spyder

numpyはバージョンごとにちょこちょこと仕様が変わるなぁ。

0 件のコメント:

コメントを投稿