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

Common types and interfaces for probabilistic programming

Results 16 AbstractPPL.jl issues
Sort by recently updated
recently updated
newest added

As suggested in https://github.com/TuringLang/DynamicPPL.jl/issues/466#issuecomment-1436670214, this PR adds `StatsBase.predict` to the API with a default implementation.

With `fix` and `unfix` coming in through TuringLang/DynamicPPL.jl#488 , to stay consistent with the naming, we should rename `decondition` to `uncondition`.

As requested on the Slack I am posting my perspective as to how the docs could be improved. The below is not complete, but these are the issues that I...

To concretize, we need the runtime shapes, and to get them, we actually apply the lenses: https://github.com/TuringLang/AbstractPPL.jl/blob/9b64dd89dcde2dc0d8845cd01b4cc305ea83086e/src/varname.jl#L428 It would be good if this were only views. Related: https://github.com/TuringLang/DynamicPPL.jl/issues/341

It would be nice to have a new method for `condition` that accepts weights from `StatsBase`; `FrequencyWeights` in particular would be very useful for things like minibatching or repeat observations.

At @torfjelde's suggestion, I am testing the AbstractPPL interface to see what it is missing. Here the test case is [simulation-based calibration](https://arxiv.org/abs/1804.06788v2). From the interface spec, I got to this...

Currently, no mechanism exists to serialise `VarName` objects into a string, making it awkward to save DynamicPPL `VarInfo` and MCMCChains objects (see, e.g. [here](https://github.com/TuringLang/Turing.jl/pull/2078)). Thus, it would be helpful to...

Similiar to https://github.com/TuringLang/DynamicPPL.jl/issues/758

Currently, the design documentation mainly resides in the README.md, we should refactor these, move majority of it to doc and some to Discussions

documentation