LoginSignup
2
3

More than 3 years have passed since last update.

「Pythonで体験するベイズ推論」でのはまりポイント

Last updated at Posted at 2020-08-07

「Pythonで体験するベイズ推論」を始めるときにはまったところ。

「Pythonで体験するベイズ推論」を読み始めました。
動かすまでに少しはまったところをメモしておきます。

pymcを入れるのですが、今はpymc4になっています。
書籍のgithubを確認すると、
https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
pymc2pymc3のスクリプトが載っているので、本を読むときはpymc3をインストールして、gitの中にあるpymc3用のスクリプトを見るようにする。

必要なライブラリーは、pymc3とバックエンドのtheanoになります。

pip install pymc3

いろいろやったけど、何も入れずに、最初に、このpipのみで全部インストールされます。

基本的に、このpymc3をインストールすると、必要なtheanoがインストールされます。
thenopymc3の後ろで動くバックエンドになります。

後、必要なjupyternotebookを入れます。

pip install jupyter

一応これで、第一章は動きます。warningを吐きまくりますが、一応動くので大丈夫です。

次に、僕は、好きなspyderも入れました。
spyderで動かすときは、ここがはまります。

jupyterCh1_Introduction_PyMC3.ipynbの中のセルのin10で、このままspyderで動かすと、ここでエラーが起きます。

#これで動かすと、エラーが出ました。
with model:
    step = pm.Metropolis()
    trace = pm.sample(10000, tune=5000,step=step)

エラーの理由は、マルチコアの設定がなんかうまく動かないようです。
ここは、このように直します。

with model:
    step = pm.Metropolis()
    trace = pm.sample(10000, tune=5000,step=step , cores = 1)

とりあえずcores=1で、シングルコアで動かせば動きます。ここを2とか4とか入れるとエラーが出ますが、なんか動いて、強制終了すると結果が出ます。普通に動かすときは1を設定しましょう。
jupyternotebookで動くけど、spyderでエラーが出る理由はわかりません。

今後は、pymc4tensorflowがバックエンドになるそうですが、この書籍の場合はpymc3を入れた方が良いです。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3