From 52338ae8026d50c6de12ec4fe0346136d8c4bc67 Mon Sep 17 00:00:00 2001 From: Xuan Date: Thu, 17 Jul 2025 14:00:40 -0600 Subject: [PATCH 1/2] Update README to match docs. --- README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 0735d1f7c..2c9bcb681 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,64 @@ # Gen.jl -[![Build Status](https://github.com/probcomp/Gen/workflows/ContinuousIntegration/badge.svg)](https://github.com/probcomp/Gen/actions) -[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://probcomp.github.io/Gen.jl/docs/stable) -[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://probcomp.github.io/Gen.jl/docs/dev) +[![Build Status](https://img.shields.io/github/actions/workflow/status/probcomp/Gen.jl/ContinuousIntegration.yml?branch=master)](https://github.com/probcomp/Gen.jl/actions) +[![Documentation (Stable)](https://img.shields.io/badge/docs-stable-blue.svg)](https://probcomp.github.io/Gen.jl/docs/stable) +[![Documentation (Dev)](https://img.shields.io/badge/docs-dev-blue.svg)](https://probcomp.github.io/Gen.jl/docs/dev) +![GitHub Release](https://img.shields.io/github/v/release/probcomp/Gen.jl?color=white) -Gen: A General-Purpose Probabilistic Programming System with Programmable Inference - -*Warning: This is rapidly evolving research software.* +A general-purpose probabilistic programming system with programmable inference, embedded in Julia. See [https://gen.dev](https://gen.dev/) for introduction, documentation, and tutorials. -Gen was created at the [MIT Probabilistic Computing Project](http://probcomp.csail.mit.edu/). To get in contact, please email gen-contact@mit.edu. +## Features + +* 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. + +* 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. + +* An expressive and intuitive [modeling language](https://www.gen.dev/docs/stable/ref/modeling/dml/) for writing and composing probabilistic programs. + +* 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. + +* 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). + +* [Specialized modeling constructs](https://www.gen.dev/docs/stable/tutorials/scaling_with_sml/) that speed-up inference by supporting incremental computation. + +* 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. + +## Installation + +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: + +``` +add Gen +``` + +To install the latest development version, you may instead run: + +``` +add https://github.com/probcomp/Gen.jl.git +``` + +Gen can now be used in the Julia REPL, or at the top of a script: + +```julia +using Gen +``` + +To test the installation locally, you can run the tests with: + +```julia +using Pkg; Pkg.test("Gen") +``` + +## Questions and Contributions + +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. + +## Supporting and Citing + +Gen.jl is part of ongoing research at the [MIT Probabilistic Computing Project](http://probcomp.csail.mit.edu). To get in contact, please email gen-contact@mit.edu. If you use Gen in your research, please cite our 2019 PLDI paper: -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)) +> *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)) From 3961b498468d22186a505343d078b4b7d421027c Mon Sep 17 00:00:00 2001 From: Xuan Date: Thu, 17 Jul 2025 14:03:20 -0600 Subject: [PATCH 2/2] Reduce spacing between list items. --- README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/README.md b/README.md index 2c9bcb681..3983c0131 100644 --- a/README.md +++ b/README.md @@ -12,17 +12,11 @@ See [https://gen.dev](https://gen.dev/) for introduction, documentation, and tut ## Features * 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. - * 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. - -* An expressive and intuitive [modeling language](https://www.gen.dev/docs/stable/ref/modeling/dml/) for writing and composing probabilistic programs. - +* An expressive and intuitive [modeling language](https://www.gen.dev/docs/stable/ref/modeling/dml/) for writing and composing probabilistic programs. * 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. - * 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). - * [Specialized modeling constructs](https://www.gen.dev/docs/stable/tutorials/scaling_with_sml/) that speed-up inference by supporting incremental computation. - * 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. ## Installation