TuringLang / DynamicPPL.jl

Implementation of domain-specific language (DSL) for dynamic probabilistic programming
https://turinglang.org/DynamicPPL.jl/
MIT License
157 stars 26 forks source link

Roadmap for depreciating `VarInfo` in favour of `SimpleVarInfo` #416

Open yebai opened 2 years ago

yebai commented 2 years ago

This is meant as an umbrella issue for documenting the steps required to depreciate VarInfo in favour of SimpleVarInfo-equivalwent.

Some known items:

cc @torfjelde

devmotion commented 2 years ago

Support for Gibbs sampling: e.g. GID stuff in VarInfo

IIRC we don't use GID etc in the Gibbs sampler anymore.

torfjelde commented 2 years ago

IIRC we don't use GID etc in the Gibbs sampler anymore.

Are you referring to Gibbs or GibbsConditional? Because in the former I'm pretty sure it's used to determine which variables are related to which sampler.

devmotion commented 2 years ago

I think that's done solely by the sub-samplers and their parameter space (eg https://github.com/TuringLang/Turing.jl/blob/9f8a9c4c476095d45246b4924d5cd542f3f8d506/src/inference/gibbs.jl#L243)? The logic was changed quite a bit in https://github.com/TuringLang/Turing.jl/pull/1500.

torfjelde commented 2 years ago

I think that's done solely by the sub-samplers and their parameter space

Exactly what I was referring to yeah. And the current "selector" stuff for samplers IMO should go away, and we should instead keep track of which varnames correspond to which sampler in the Gibbs sampler or something.

torfjelde commented 2 years ago

@yebai we might want to move this issue to a discussion instead. In a discussion we can make sub-threads, which makes it much easier to keep track of the ongoing conversations regarding particular points rather than having a flat thread like in an issue.