Skip to content

Commit 3f44183

Browse files
authored
Merge pull request #555 from probcomp/20250717-ztangent-update-readme
Update README to match documentation.
2 parents 0e8cfac + 3961b49 commit 3f44183

File tree

1 file changed

+49
-9
lines changed

1 file changed

+49
-9
lines changed

README.md

Lines changed: 49 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,58 @@
11
# Gen.jl
22

3-
[![Build Status](https://github.com/probcomp/Gen/workflows/ContinuousIntegration/badge.svg)](https://github.com/probcomp/Gen/actions)
4-
[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://probcomp.github.io/Gen.jl/docs/stable)
5-
[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://probcomp.github.io/Gen.jl/docs/dev)
3+
[![Build Status](https://img.shields.io/github/actions/workflow/status/probcomp/Gen.jl/ContinuousIntegration.yml?branch=master)](https://github.com/probcomp/Gen.jl/actions)
4+
[![Documentation (Stable)](https://img.shields.io/badge/docs-stable-blue.svg)](https://probcomp.github.io/Gen.jl/docs/stable)
5+
[![Documentation (Dev)](https://img.shields.io/badge/docs-dev-blue.svg)](https://probcomp.github.io/Gen.jl/docs/dev)
6+
![GitHub Release](https://img.shields.io/github/v/release/probcomp/Gen.jl?color=white)
67

7-
Gen: A General-Purpose Probabilistic Programming System with Programmable Inference
8-
9-
*Warning: This is rapidly evolving research software.*
8+
A general-purpose probabilistic programming system with programmable inference, embedded in Julia.
109

1110
See [https://gen.dev](https://gen.dev/) for introduction, documentation, and tutorials.
1211

13-
Gen was created at the [MIT Probabilistic Computing Project](http://probcomp.csail.mit.edu/). To get in contact, please email [email protected].
12+
## Features
13+
14+
* Multi-paradigm Bayesian inference via [Sequential Monte Carlo](https://www.gen.dev/docs/stable/ref/inference/pf/)[variational inference](https://www.gen.dev/docs/stable/ref/inference/vi/)[MCMC](https://www.gen.dev/docs/stable/ref/inference/mcmc/), and more.
15+
* Gradient-based training of generative models via [parameter optimization](https://www.gen.dev/docs/stable/ref/inference/parameter_optimization/)[wake-sleep learning](https://www.gen.dev/docs/stable/ref/inference/wake_sleep/), etc.
16+
* An expressive and intuitive [modeling language](https://www.gen.dev/docs/stable/ref/modeling/dml/) for writing and composing probabilistic programs.
17+
* Inference algorithms are _programmable_: Write [custom proposals](https://www.gen.dev/tutorials/data-driven-proposals/tutorial)[variational families](https://www.gen.dev/docs/stable/tutorials/vi/)[MCMC kernels](https://www.gen.dev/docs/stable/ref/inference/mcmc/) or [SMC updates](https://www.gen.dev/docs/stable/ref/inference/trace_translators/) without worrying about the math.
18+
* Support for Bayesian structure learning via [involutive MCMC](https://www.gen.dev/docs/stable/ref/inference/mcmc/#involutive_mcmc) and [SMCP³](https://www.gen.dev/docs/stable/ref/inference/pf/#advanced-particle-filtering).
19+
* [Specialized modeling constructs](https://www.gen.dev/docs/stable/tutorials/scaling_with_sml/) that speed-up inference by supporting incremental computation.
20+
* Well-defined APIs for implementing [custom generative models](https://www.gen.dev/docs/stable/how_to/custom_gen_fns/)[distributions](https://www.gen.dev/docs/stable/how_to/custom_distributions/)[gradients](https://www.gen.dev/docs/stable/how_to/custom_gradients/), etc.
21+
22+
## Installation
23+
24+
The Gen package can be installed with the Julia package manager. From the Julia REPL, type `]` to enter the Pkg REPL mode and then run:
25+
26+
```
27+
add Gen
28+
```
29+
30+
To install the latest development version, you may instead run:
31+
32+
```
33+
add https://github.com/probcomp/Gen.jl.git
34+
```
35+
36+
Gen can now be used in the Julia REPL, or at the top of a script:
37+
38+
```julia
39+
using Gen
40+
```
41+
42+
To test the installation locally, you can run the tests with:
43+
44+
```julia
45+
using Pkg; Pkg.test("Gen")
46+
```
47+
48+
## Questions and Contributions
49+
50+
If you have questions about using Gen.jl, feel free to open a [discussion on GitHub](https://github.com/probcomp/Gen.jl/discussions). If you encounter a bug, please [open an issue](https://github.com/probcomp/Gen.jl/issues). We also welcome bug fixes and feature additions as [pull requests](https://github.com/probcomp/Gen.jl/pulls). Please refer to our [contribution guidelines](https://github.com/probcomp/Gen.jl/blob/master/CONTRIBUTING.md) for more details.
51+
52+
## Supporting and Citing
53+
54+
Gen.jl is part of ongoing research at the [MIT Probabilistic Computing Project](http://probcomp.csail.mit.edu). To get in contact, please email [email protected].
1455

1556
If you use Gen in your research, please cite our 2019 PLDI paper:
1657

17-
Gen: A General-Purpose Probabilistic Programming System with Programmable Inference. Cusumano-Towner, M. F.; Saad, F. A.; Lew, A.; and Mansinghka, V. K.
18-
In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ‘19). ([pdf](https://dl.acm.org/doi/10.1145/3314221.3314642)) ([bibtex](https://www.gen.dev/assets/gen-pldi.txt))
58+
> *Gen: A General-Purpose Probabilistic Programming System with Programmable Inference.* Cusumano-Towner, M. F.; Saad, F. A.; Lew, A.; and Mansinghka, V. K. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ‘19). ([pdf](https://dl.acm.org/doi/10.1145/3314221.3314642)) ([bibtex](https://www.gen.dev/assets/gen-pldi.txt))

0 commit comments

Comments
 (0)