Port numpyro.render_model() to Pyro #2962
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #2957
This ports
numpyro.render_model()
nearly verbatim topyro.render_model()
, including the tutorial.I've prioritized this because of a recent user story: a scientist wanted to learn Pyro/NumPyro, and eventually chose NumPyro because the learning curve was less steep. This scientist said:
Ported functions and files:
get_model_relations()
is simpler than in numpyro, due to @ordabayevy'sProvenanceTensor
Support discrete variables in get_dependencies() via ProvenanceTensor #2959generate_graph_specification()
is copied nearly verbatimrender_graph
is copied nearly verbatimrender_model
is copied nearly verbatimmodel_rendering.ipynb
is copied nearly verbatimTested