Hi all! I’m currently working on a lib that’s laser-focused on constructing + doing inference on Bayesian Networks (see here), and I would love to use numpyro in order to leverage the speed bonuses from XLA compilation found in jax.

My plan is to write out a pyro model based on specification of a PGM using graph-type language (nodes, edges, etc), and then delegate methods like

To begin I’m only considering discrete models, so I’ve been shopping around the various posts on inference using enumeration (`config_enumerate`

and `infer_discrete`

etc.), but I’m unsure what level of abstraction I’m looking for here:

- If I have access to conditional probability tables, is using
`opt_einsum`

enough for inference by variable elim? Or can I use one of the above abstractions to do this in an easier way? - Would one need to bother creating junction trees in the general case of inference in non-tree-like Bayes nets? Or would I have to somehow manually create a new pyro model based on the junction tree and then delegate to the appropriate inference method?

Thanks for the help!