Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
agarret7 committed Dec 19, 2023
1 parent a7ce094 commit 2f255f8
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
[<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-gen_rs-66c2a5?style=for-the-badge&labelColor=555555&logo=docs.rs" height="20">](https://docs.rs/gen-rs)
[<img alt="status" src="https://img.shields.io/github/actions/workflow/status/agarret7/gen-rs/test.yml?branch=main&style=for-the-badge" height="20">](https://github.com/agarret7/gen-rs/actions?query=branch%3Amain)

gen-rs is an experimental, research crate for probabilistic programming in Rust. gen-rs supports many features of other Rust-native probabilistic computing frameworks such as [ferric](https://github.com/ferric-ai/ferric), and is written at a lower-level than languages such as [Gen.jl](https://github.com/probcomp/Gen.jl). It was also strongly inspired by [GenTL](https://github.com/OpenGen/GenTL/tree/main), but with Rust-native constructs.
gen-rs is an experimental, research crate for probabilistic programming in Rust. gen-rs supports many features of other Rust-native probabilistic computing frameworks such as [ferric](https://github.com/ferric-ai/ferric), and is written at a lower-level than languages such as [Gen.jl](https://github.com/probcomp/Gen.jl). gen-rs was inspired by [GenTL](https://github.com/OpenGen/GenTL/tree/main), but with Rust-native constructs.

This library implements the Generative Function Interface [[GFI]](https://github.com/agarret7/gen-rs/blob/main/gen-rs/src/gfi.rs) as specified in the [Gen.jl whitepaper](https://dl.acm.org/doi/10.1145/3314221.3314642) and [Marco Cusumano-Towner's thesis](https://www.mct.dev/assets/mct-thesis.pdf)) and a basic, yet complete set of inference procedures.
It implements the Generative Function Interface [[GFI]](https://github.com/agarret7/gen-rs/blob/main/gen-rs/src/gfi.rs) as specified in the [Gen.jl whitepaper](https://dl.acm.org/doi/10.1145/3314221.3314642) and [Marco Cusumano-Towner's thesis](https://www.mct.dev/assets/mct-thesis.pdf)) and a basic, yet complete set of inference procedures.


## Modeling Features
Expand All @@ -16,6 +16,7 @@ This library implements the Generative Function Interface [[GFI]](https://github
- Dynamically-typed `TrieFn` DSL
- [Example model implementations](https://github.com/agarret7/gen-rs/blob/main/gen-rs/tests/triefns)


## Inference Features

- Importance Sampling
Expand All @@ -31,6 +32,6 @@ cargo test && python visualization/visualizer.py

## Disclaimer

Unlike most modern ML systems, probabilistic programming doesn't require a differentiable likelihood; a fast (possibly parallelized) CPU-bound iterator is often sufficient for inference. This aligns well with Rust's principle of "fearless concurrency".
Unlike most modern ML systems, probabilistic programming doesn't require a differentiable likelihood; a fast (possibly parallelized) CPU-bound iterator is often sufficient for inference. This aligns well with Rust's principle of "fearless concurrency". AD support is not currently planned for this library.

AD support is not currently planned for this library. If you'd like native AD in a probabilistic language you might want to check out some more fully-featured projects like [GenTorch](https://github.com/OpenGen/GenTorch/), [Gen.jl](https://github.com/probcomp/Gen.jl/tree/master), [GenParticleFilters](https://github.com/probcomp/GenParticleFilters.jl), [SMCP3](https://github.com/probcomp/aistats2023-smcp3), [Bayes3D](https://github.com/probcomp/bayes3d/tree/main), or GenJax.
You may want to check out one of several more fully-featured projects including [GenTorch](https://github.com/OpenGen/GenTorch/), [Gen.jl](https://github.com/probcomp/Gen.jl/tree/master), [GenParticleFilters](https://github.com/probcomp/GenParticleFilters.jl), [SMCP3](https://github.com/probcomp/aistats2023-smcp3), [Bayes3D](https://github.com/probcomp/bayes3d/tree/main), and/or GenJax.
4 changes: 2 additions & 2 deletions gen-rs/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gen-rs"
description = "a general-purpose framework for probabilistic programming in Rust."
description = "a experimental library for probabilistic programming in Rust."
version = "0.2.1"
edition = "2021"
keywords = ["statistics", "ppl", "mcmc", "importance-sampling", "particle-filtering"]
Expand All @@ -18,4 +18,4 @@ rand = "0.8.5"
regex = "1.9.1"
serde = { version = "1.0.163", features = ["rc", "derive"] }
serde_json = "1.0.96"
statistical = "1.0.0"
statistical = "1.0.0"

0 comments on commit 2f255f8

Please sign in to comment.