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

Common types and interfaces for probabilistic programming

Results 8 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...