Releases: TuringLang/DynamicPPL.jl
v0.34.2
DynamicPPL v0.34.2
- Fixed bugs in ValuesAsInModelContext as well as DebugContext where underlying PrefixContexts were not being applied. From a user-facing perspective, this means that for models which use manually prefixed submodels, e.g.
using DynamicPPL, Distributions
@model inner() = x ~ Normal()
@model function outer()
x1 ~ to_submodel(prefix(inner(), :a), false)
x2 ~ to_submodel(prefix(inner(), :b), false)
end
will: (1) no longer error when sampling due to check_model_and_trace
; and (2) contain both submodel's variables in the resulting chain (the behaviour before this patch was that the second x
would override the first x
).
- More broadly, implemented a general
prefix(ctx::AbstractContext, ::VarName)
which traverses the context tree inctx
to apply all necessary prefixes. This was a necessary step in fixing the above issues, but it also means thatprefix
is now capable of handling context trees with e.g. multiple prefixes at different levels of nesting.
Merged pull requests:
- Expand JET test (#782) (@penelopeysm)
- Clarify is_unconstrained docstring (#790) (@penelopeysm)
v0.34.1
DynamicPPL v0.34.1
Fix an issue that prevented merging two VarInfos if they had different dimensions for a variable.
Upper bound the compat version of KernelAbstractions to work around an issue in determining the right VarInfo type to use.
v0.34.0
DynamicPPL v0.34.0
Breaking changes
-
rng
argument removed fromvalues_as_in_model
, andvarinfo
made non-optional. This means that the only signatures allowed arevalues_as_in_model(::Model, ::Bool, ::AbstractVarInfo) values_as_in_model(::Model, ::Bool, ::AbstractVarInfo, ::AbstractContext)
If you aren't using this function (it's probably only used in Turing.jl) then this won't affect you.
v0.33.1
DynamicPPL v0.33.1
- Reworked internals of
condition
anddecondition
. There are no changes to the public-facing API, but internally you can no longer usecondition
anddecondition
on an AbstractContext, you can only use it on aDynamicPPL.Model
. If you want to modify a context, useConditionContext
anddecondition_context
.
v0.33.0
DynamicPPL v0.33.0
Breaking changes
values_as_in_model()
now requires an extra boolean parameter, specifying whether variables on the lhs of:=
statements are to be included in the resulting OrderedDict of values. The type signature is nowvalues_as_in_model([rng,] model, include_colon_eq::Bool [, varinfo, context])
Other changes
- Moved the implementation of
predict
from Turing.jl to DynamicPPL.jl; the user-facing behaviour is otherwise the same - Improved error message when a user tries to initialise a model with parameters that don't correspond strictly to the underlying VarInfo used
Merged pull requests:
- Move
predict
from Turing (#716) (@sunxd3) - Don't include lhs of := in results of predict() (#766) (@penelopeysm)
- Remove extra doctest filters (#769) (@penelopeysm)
Closed issues:
- Taking stochastic control flow a bit more seriously (#25)
- Adopt DensityInterface (#340)
- Remove
NamedDist
in favour ofVarName
interpolation (#400) - Simplify
assume
/observe
design (#402) - Supporting mutating ADs in models that fill arrays of parameters (#412)
- Name clash caused by submodels is hard to debug (#427)
- Decouple from Distributions.jl (#523)
- Move TestUtils to an extension (#550)
- Issue with ReverseDiff and undef on Julia v1.7 (#612)
- Transfer
Turing.Inference.predict
toDynamicPPL
. (#647) - Distributions with latent variables (#689)
- Chain returned by
predict
will contain variables used in:=
statements (#765) - Remove unneeded doctest filters and fix tests (#768)
- Do
from_internal_transform()
etc. requirevi
andvn
as arguments? (#773)
v0.32.2
v0.32.1
DynamicPPL v0.32.1
Merged pull requests:
- Make CI + tests more efficient (#749) (@penelopeysm)
- Remove duplicated tests (#753) (@penelopeysm)
- CompatHelper: add new compat entry for OrderedCollections at version 1 for package test, (keep existing compat) (#754) (@github-actions[bot])
Closed issues:
- x86 2threads ubuntu CI OOM failure (#725)
v0.32.0
DynamicPPL v0.32.0
Merged pull requests:
- Remove Turing integration tests (#733) (@penelopeysm)
- CompatHelper: add new compat entry for JET at version 0.9 for package test, (keep existing compat) (#746) (@github-actions[bot])
Closed issues:
v0.31.5
DynamicPPL v0.31.5
Merged pull requests:
- Using JET.jl to determine if typed varinfo is okay (#728) (@torfjelde)
- CompatHelper: add new compat entry for DifferentiationInterface at version 0.6 for package test, (keep existing compat) (#742) (@github-actions[bot])