PyMC3 -> PyMC v4 migration

hi @Dominik ,
while Aesara is giving you more options for compilation backends (numba, jax) and making it easier to add more, the C backend will likely remain supported for the foreseable future. Mainly because the other backends don’t have the full support/compatibility with all scenarios or OSes.
But Aesara also got considerable refactoring of how it’s managing the compilation directory, so hopfully it’ll be less of a headache. aesara.compiledir also has cleanup() and compiledir_purge() that you might be interested in.

It’s correct that the .dist() API changed, but these changes should actually make it more compatible with pm.Potential, pm.logp() etc. Long story short. The Distribution() API implements niceties related to dims/coords management in the model, but inside creates the RVs with Distribution.dist().
Additionally, we’re (going to) using Aeppl for the construction of log-probability graphs, which reduces our dependency on information provided by Distribution()/Model.

2 Likes