You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current main tracing data structure is VarInfo, which wraps either a Metadata or a NamedTuple with variable symbols as keys and Metadata objects as values. The latter is called a TypedVarInfo, since it allows for concrete types to be inferred for variables. In addition to the metadata field, VarInfo also holds logp and num_produce.
There's also SimpleVarInfo, which stores the values in a standard container like an OrderedDict or a NamedTuple, and only carries logp with it. It is more limited in its features, but sometimes faster.
A not-necessarily-exhaustive list of things that should be done under the banner of this roadmap issue:
Remove unnecessary old features like Selectors and Gibbs IDs
Refactor to simplify
Switch from Metadata to VarNamedVector, which is simpler and has a more well-defined interface.
Somehow generalise the types of information that VarInfo carries, i.e. not just hard-code in logp and num_produce.
Refactor particle Gibbs so that features of VarInfo that only serve it can be removed.
See if we could unify VarInfo and SimpleVarInfo into a best of both worlds solution to further simplify the codebase
The current main tracing data structure is
VarInfo
, which wraps either aMetadata
or aNamedTuple
with variable symbols as keys andMetadata
objects as values. The latter is called aTypedVarInfo
, since it allows for concrete types to be inferred for variables. In addition to themetadata
field,VarInfo
also holdslogp
andnum_produce
.There's also
SimpleVarInfo
, which stores the values in a standard container like anOrderedDict
or aNamedTuple
, and only carrieslogp
with it. It is more limited in its features, but sometimes faster.A not-necessarily-exhaustive list of things that should be done under the banner of this roadmap issue:
Selector
s and Gibbs IDsMetadata
toVarNamedVector
, which is simpler and has a more well-defined interface.VarInfo
carries, i.e. not just hard-code inlogp
andnum_produce
.VarInfo
that only serve it can be removed.VarInfo
andSimpleVarInfo
into a best of both worlds solution to further simplify the codebaseRelated issues
assume
anddot_assume
DynamicPPL.jl#682VarInfo
in favour ofSimpleVarInfo
DynamicPPL.jl#416The text was updated successfully, but these errors were encountered: