趣味でpyroを書きました。
もともとstanという言語を使ってて、pythonに移行したくなったためです…(pystanも使ってた)
動かすまで結構ハマってしまいました。
ハマった点
SVIの挙動。自分は勾配ベースではなく、MCMCを主に使ってたので、全然収束せず戸惑いました。
plateの挙動。ベイズの学習モデルが条件的確率であることを鑑み、学習途中で条件付き独立性を保証する方法。(普段あまり意識していなかった)
事前分布やガイドのコードがstanに比べて長い。(stanでは数文字で書けることが、何行にも…)
しっかりとstanの結果を再現できたので、これから頑張りたいと思います!