Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
23f79a8
first draft of core functionality
georgematheos May 17, 2020
c9b1d49
add support for address schemas
georgematheos May 17, 2020
1e0a589
update choicemap docs
georgematheos May 17, 2020
623bc8f
refactoring and tests
georgematheos May 18, 2020
83349c7
performance improvements and benchmarking
georgematheos May 19, 2020
b9b5312
benchmark for dynamic choicemap lookups
georgematheos May 19, 2020
bce5e77
inline dynamicchoicemap methods
georgematheos May 19, 2020
a985f9b
remove old version benchmark file
georgematheos May 19, 2020
1f5029c
minor testing cleanup
georgematheos May 19, 2020
eb6adf7
ensure valuechoicemap[] syntax works
georgematheos May 19, 2020
eef9417
provide some examples in the documentation
georgematheos May 19, 2020
a83adfb
fix some typos
georgematheos May 19, 2020
1bd705f
add phrase 'nesting level zero' to docs
georgematheos May 19, 2020
676828b
distribution <: GenFn; dynamic DSL simplification
georgematheos Jun 17, 2020
5bf4207
simplify static ir code
georgematheos Jun 18, 2020
61673a4
brief documentation for Dist <: GenFn
georgematheos Jun 18, 2020
298a333
short map over distribution test
georgematheos Jun 18, 2020
e34875a
default static_get_submap = EmptyChoiceMap
georgematheos Jun 18, 2020
972d455
default static_get_submap = EmptyChoiceMap
georgematheos Jun 18, 2020
ee64d12
dist performance improvements
georgematheos Jun 18, 2020
fd1991f
minor performance improvement
georgematheos Jun 18, 2020
c3d5db0
performance improvement related to zip bug
georgematheos Jun 18, 2020
f652346
Merge branch '20200516-georgematheos-valuechoicemaps' into 20200617-g…
georgematheos Jun 20, 2020
8a43845
better static retdiff checking
georgematheos Jun 20, 2020
ffd9373
add static info for dist trace type
georgematheos Jun 25, 2020
67d5e12
don't use static get_submap for staticchoicemap
georgematheos Jun 25, 2020
4966ea9
some simple MH benchmarks
georgematheos Jun 25, 2020
0909a5b
bug fix
georgematheos Jun 25, 2020
47cca59
remove ChoiceAt; bug fixes
georgematheos Jun 25, 2020
10df952
decrease iters on benchmark
georgematheos Jun 25, 2020
a79390e
merge in updated master
georgematheos Jul 3, 2020
b1c4fc2
address_tree v0
georgematheos Jul 3, 2020
3d1b519
bug fixing
georgematheos Jul 5, 2020
bc9b7f6
bug fixes -> tests passing
georgematheos Jul 6, 2020
9c74360
remove old choicemap & selection code
georgematheos Jul 6, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
brief documentation for Dist <: GenFn
  • Loading branch information
georgematheos committed Jun 18, 2020
commit 61673a46cef1af989b003e226e762fc21c1814eb
6 changes: 6 additions & 0 deletions docs/src/ref/distributions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Probability Distributions

In Gen, a probability distribution is a generative function which makes a single random choice
and returns the value of this choice. The choicemap for a probability distribution
is always a [`ValueChoiceMap`](@ref). In addition to supporting the regular `GFI` methods,
every distribution supports the methods [`random`](@ref) and [`logpdf`](@ref), described
in the [Distribution API](@ref custom_distributions).

Gen provides a library of built-in probability distributions, and two ways of
writing custom distributions, both of which are explained below:

Expand Down
5 changes: 4 additions & 1 deletion docs/src/ref/extending.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ Gen's Distribution interface directly, as defined below.
Probability distributions are singleton types whose supertype is `Distribution{T}`, where `T` indicates the data type of the random sample.

```julia
abstract type Distribution{T} end
abstract type Distribution{T} <: GenerativeFunction{T, DistributionTrace} end
```

A new Distribution type must implement the following methods:
Expand Down Expand Up @@ -146,6 +146,9 @@ has_output_grad
logpdf_grad
```

Any custom distribution will automatically be a `GenerativeFunction` since `Distribution <: GenerativeFunction`;
implementations of all GFI methods are automatically provided in terms of `random` and `logpdf`.

## Custom generative functions

We recommend the following steps for implementing a new type of generative function, and also looking at the implementation for the [`DynamicDSLFunction`](@ref) type as an example.
Expand Down