
Gen: Probabilistic programming system with programmable inference - vertexclique
https://github.com/probcomp/Gen
======
dagw
More discussion here:
[https://news.ycombinator.com/item?id=20301352](https://news.ycombinator.com/item?id=20301352)

------
baylearn
How is this compared to Turing.jl [1], and Stan[2] /Pyro [3], Edward [4],
TensorFlow probability [5]?

Refs:

[1] [http://turing.ml](http://turing.ml)

[2] [https://mc-stan.org](https://mc-stan.org)

[3] [https://pyro.ai](https://pyro.ai)

[4] [http://edwardlib.org](http://edwardlib.org)

[5]
[https://www.tensorflow.org/probability/overview](https://www.tensorflow.org/probability/overview)

------
nextos
If you want to get into probabilistic programming, I really recommend reading:

[https://probmods.org/](https://probmods.org/)

It's my favorite book since SICP & CTM. Some auxiliary materials:

[http://forestdb.org/](http://forestdb.org/)

[http://dippl.org/](http://dippl.org/)

[https://mhtess.github.io/bdappl/](https://mhtess.github.io/bdappl/)

After that, for practical applications, Gen looks very promising. The MIT
group already presented a very early prototype 2 years ago at PPAML.

But if you don't understand the fundamentals (generative process, mixture
model, hierarchical models, non-parametric models, etc) you will be lost. Note
v1 of Probmods was written in Church (a Scheme dialect), which has some
advantages to create meta-models.

------
ghosthamlet
An interesting embedded language for probabilistic programming and meta-
programming implement in Clojure from the same organization:
[https://github.com/probcomp/metaprob](https://github.com/probcomp/metaprob)

The MIT Probabilistic Computing Project has a free public notebook service
with big server to play with their libraries:
[https://github.com/probcomp/developer#hosted-
service](https://github.com/probcomp/developer#hosted-service), the server
spec is:

96 CPU cores, 360GB of RAM

10GB persistent disk

One hour browser-based inactivity timeout

10 max concurrent instances

------
dmos62
Mini Ask HN:

Are there things that you've done with probabilistic programming that aren't
sophisticated, but were still a good use of pp?

Or, in other words, what's a minimal example of a problem that is
significantly simplified with probabilistic programming?

My intuition says that this stuff is great, but conceptually I can't think of
use cases remotely relevant to a non-statistics specialist, i.e. me.

~~~
jsty
If you want a non-mathematician friendly introduction, "Probabilistic
Programming and Bayesian Methods for Hackers" [0] is a good place to start.
For a motivating application, chapter 2 walks through using probabilistic
programming for A/B testing.

[0] [https://camdavidsonpilon.github.io/Probabilistic-
Programming...](https://camdavidsonpilon.github.io/Probabilistic-Programming-
and-Bayesian-Methods-for-Hackers/)

~~~
dmos62
Wow, that's great. The examples section is extensive and answers my question
very well. I'll be sure to read the book.

------
callesgg
Does anyone have digestible youtube video that explains this?

~~~
jdewsnip
For probabilistic programming in general I would recommend,

[https://xcelab.net/rm/statistical-
rethinking/](https://xcelab.net/rm/statistical-rethinking/)

Videos, book and code in Stan. Also the solutions available in pymc.

[https://github.com/pymc-
devs/resources/tree/master/Rethinkin...](https://github.com/pymc-
devs/resources/tree/master/Rethinking).

------
verdverm
Thoughts on declarative programming with deterministic output?

