DockerにNumPyroをインストールする
CmdStanPyを使っていましたけど、パッケージのバージョン問題とか謎のエラーが多すぎますね、、。
— shuichi-o (@SHU10038) 2022年4月23日
これを機に、NumPyroを使ってみようか、、、。
先日までCmdStanPyを使っていました。が、Anaconda をアンインストールしてPipやconda forgeから再インストールしたら、何故かうまく動作しませんでした。。。やっぱりStan系はインストールが大変です、、。
「諦めてPyStanを使うか、PyCM3に戻ろうかなぁ」なんて思っていた矢先、こういう記事を発見しました。
- 機械学習で楽しむJAXとNumPyro v0.1.0 http://secondearths.sakura.ne.jp/jax/playjax.pdf
NumPyroというパッケージがあって、これがなかなか興味深いです。ノーUターンサンプラでMCMCの計算が出来るので、CmdStanPyの代わりになりそうです。NumPyroの公式ドキュメントを以下に貼り付けておきます。
さて、CmdStanPyのインストールを試しているうちに、ローカル環境がぐちゃぐちゃになってしまいました、、。これを反省して、今回からはDocker上に環境構築をします。
(「Numpyro インストール」でググってみるとGoogle Colaboratoryを利用した方法が多く紹介されていましたが、練習もかねてDockerを使いました)
インストール
Pipを利用するといろいろと上手くいかなかったので、miniconda上に構築しました。Docker fileを次のように書きました。割とシンプルな例ですが、結構試行錯誤しました。
FROM continuumio/miniconda3 RUN conda create -n chemodel python==3.10 RUN conda install numpy RUN conda install scipy RUN conda install -c conda-forge jax RUN conda install -c conda-forge numpyro