biwrapを使用したinline関数 [e334115, d07338e, 93bc07b] - pymc4のソースコード読んでみた
TL;DR
コミット
2018/06/09から2018/06/11の間のコミットです。
- tmp · pymc-devs/pymc4@e334115 · GitHub
- restructure + test point implementation · pymc-devs/pymc4@d07338e · GitHub
- fixes · pymc-devs/pymc4@93bc07b · GitHub
inline - pymc4/model/base.py
model.define
を常に呼ぶようにwrapしたアノテーションのようです。 define
メソッドのの中身はおそらく初期化処理等と推測できます( Model
クラス内の処理についてはまだ読んでいないのでよくわかかっていません)。
@biwrap.biwrap def inline(f, **kwargs): model = Model(**kwargs) model.define(f) return model
- 使い方:
tests/test_model.py
参照
以下にある通り、まずはテスト実行時のヘルパー関数のように使用していることがわかります。
def test_testvalue(): @pm.inline def model(cfg): ed.Normal(0., 1., name='normal')