GenExperimental.jl icon indicating copy to clipboard operation
GenExperimental.jl copied to clipboard

Featherweight embedded probabilistic programming language and compositional inference programming library

Results 38 GenExperimental.jl issues
Sort by recently updated
recently updated
newest added

General meta-programs for VI: - Define a subset of variables that are assumed to always be there. - Target those with the VI - "Gen provides meta-programs for black box...

New Feature

To draw from the predictive, the current implementation first draws the parameters from the Normal-Inverse-Wishart posterior, and then draws the datum from the multivariate normal with the sampled parameters. It...

Performance Engineering

Can ideas from this paper be supported in Gen? Divide-and-Conquer with Sequential Monte Carlo https://arxiv.org/pdf/1406.4993.pdf

Research

I am removing these temporarily, in order to allow the major interface update of Gen to be merged into master, without having to patch up that feature. The interface update...

New Feature

First, do the version that scales O(n) per generation where n is the number of data points (resulting in an O(n^2) Gibbs sweep).

Research
Data Analysis

If possible, change the current syntax: ```julia @program foo(args..) begin .. body end ``` to: ```julia @probabilistic function foo(args...) .. body end ``` This syntax be more familiar to Julia...

User Experience

This conflicts with the usage in https://en.wikipedia.org/wiki/Generator_(computer_programming). This confusion actually visibly arose once during the summer school.

User Experience

- implement module network DAG - Bayes net of modules with dependency tracking

New Feature

Making `ProgramTrace` parametric on the address type (e.g. `ProgramTrace{AddressType}`) may be a useful performance optimization in the future, because using the `Any` type for the address, as currently done, probably...

Performance Engineering

In v0.2.1, calling `generate!` always trigger a backpropagation from the score, even if that isn't necessary. I did this to simplify the code during the earlier refactoring, but it should...

Performance Engineering