Probabilistic programming interface
See original GitHub issueIs there a plan of adding probabilistic programming interface, such as rlax.distributions
or tfp
.
Right now, numpyro
is the only JAX-powered library for this. I could add an example of how to combine dm-haiku
and numpyro
if you want.
Issue Analytics
- State:
- Created 4 years ago
- Reactions:1
- Comments:5 (5 by maintainers)
Top Results From Across the Web
Probabilistic Programming - Cornell Computer Science
Instead, probabilistic programming is a tool for statistical modeling. The idea is to borrow lessons from the world of programming languages and apply...
Read more >An Introduction to Probabilistic Programming - arXiv
It is aimed at people who have an undergraduate-level understanding of either or, ideally, both probabilistic machine learning and programming.
Read more >Probabilistic programming - Wikipedia
Probabilistic programming (PP) is a programming paradigm in which probabilistic models are specified and inference for these models is performed ...
Read more >Understanding Probabilistic Programming
We can think of Probabilistic Programming as a tool for statistical modelling. Probabilistic Programming has randomization at its core and the ...
Read more >10. Probabilistic Programming Languages
In a PPL the two necessary components are: an application programming interface for the user to define the model [1], and algorithms to...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
To be honest, I haven’t yet explored probabilistic programming (past using
tfp.distributions
for other projects in the past) in sufficient depth to give a strong answer here. I like declaring things out of scope where sensible; if Haiku composes withnumpyro
or other pure-functional libraries, we’ll just declare this out of scope!My limited experience with Haiku + RLAX and Sonnet + TFP has given me no indicator that Haiku won’t compose with probabilistic programming libraries; I’ve previously written VAEs in Haiku with no issues.
That said, I’d love to see an example combining Haiku &
numpyro
, though it could be tricky for us to merge internally.Any thoughts, @ibab ?
Here’s an example of how to replace the stax networks in the numpyro VAE example with Haiku: https://github.com/ibab/numpyro/commit/076bb2a15026734a41abf4eb39ce384ab68c297f We could add a Haiku to stax converter function to Haiku to streamline use cases like this.