pymc-devs / pymc

Bayesian Modeling and Probabilistic Programming in Python
https://docs.pymc.io/
Other
8.48k stars 1.97k forks source link

Allow extracting logp and random functions directly from fgraph representation #7268

Open ricardoV94 opened 2 months ago

ricardoV94 commented 2 months ago

Description

The PyMC Model omnipresent context makes it hard to transform models under the hood, because you can't create a new model inside another model without registering it's variables in the outer model.

Issues like #7263 could be avoided by using the recommended helper without users awareness, except that helper can't be called inside a PyMC model context as it requires recreating the model again if we want to extract the logp from it. Instead if we extracted the logp from the fgraph representation directly we wouldn't need to create a new model and so it could be done safely inside the outer context.