オーストラリアで勉強してきたMLデザイナーの口語自由詩

主に、データ分析・機械学習・ベイズ・統計について自由に書く。

pymc4のソースコード読んでみた - (仮)図でまとめ, Initial Model Class, sampling and random variable [aafa32d]

f:id:yukinagae:20171122095115p:plain

まとめてみた(内容はまだ自信がないので、後日またチェックしてみる)

メモ

  • Model クラスは Context クラスを継承している
  • Model は、クラスのスコープで contexts.stack を保持している
  • with でmodelインスタンスを生成する度に、stackの末尾にそのmodelインスタンスが追加される
  • contexts.stack 内の、1つ前のmodelインスタンスparent になる(0番目のmodelインスタンスparent はNoneになる)
  • RandomVariable(RV)インスタンスが生成される度に、 contexts.stack の末尾のmodelインスタンスにそのRVインスタンスが追加される(その際に parent を最後まで辿って重複しないかチェックしている)

f:id:yukinagae:20180906090637j:plain