Releases: TuringLang/DynamicPPL.jl
v0.40.17
DynamicPPL v0.40.17
Implemented missing methods for Base.copy on internal structs.
Merged pull requests:
- fix Base.copy definitions (#1339) (@penelopeysm)
v0.40.16
DynamicPPL v0.40.16
Fixed Base.copy for VNTAccumulator and TSVNTAccumulator to also copy the acc.f field, not just acc.values.
This makes sure that the accumulator is thread-safe if acc.f contains some mutable state.
Merged pull requests:
- Fix thread safety of debug raw value accumulator (#1337) (#1338) (@penelopeysm)
Closed issues:
- debug raw value acc is not threadsafe (#1337)
v0.40.15
DynamicPPL v0.40.15
DynamicPPL now allows you to set the type that log-probabilities are initialised with, using the DynamicPPL.set_logprob_type! function.
This records a compile-time preference so requires restarting Julia to take effect.
This allows model log-probability accumulation to work with different numerical precisions.
For example, if your model is defined using distributions that are parameterised by Float32 only (and avoid promoting them to Float64 elsewhere in the model), and you call DynamicPPL.set_logprob_type!(Float32), the resulting log-probabilities will also be Float32.
Previously, DynamicPPL would automatically choose a Float64 log-probability, causing any lower-precision model to be promoted.
The function DynamicPPL.get_input_vector_type(::LogDensityFunction) is now exported, in order to help with querying the type that log-probabilities are initialised with.
DynamicPPL.typed_identity is deprecated; please use Bijectors.VectorBijectors.TypedIdentity() instead (it does the same thing).
Merged pull requests:
- Add compile-time options to change default
LogProbType(#1328) (@penelopeysm) - Fix grammar (#1330) (@anurag-mds)
- remove public vars and update docs (#1333) (@hardik-xi11)
Closed issues:
- InitFrom (#1122)
- Enzyme reverse stochastic failures with
Threads.@threads+ TSVI (#1131) - Identifying leaves of vectorised variables (#1195)
- For PartialArray, is it faster to allocate a single array of
Tuple{eltype,Bool}rather than two arrays, one ofeltypeand one ofBool? (#1210) - things like
nameof,getmissingsandnameofare not public and should not be (#1256)
v0.40.14
DynamicPPL v0.40.14
Fixed check_model() erroneously failing for models such as x[1:2] .~ univariate_dist.
Merged pull requests:
- Fix MustNotOverwrite when setting slices/indices of slices (#1325) (@penelopeysm)
Closed issues:
x[1:4] .~ Normal()fails check_model (#1321)
v0.40.13
DynamicPPL v0.40.13
Fixed densify!! not recursing into VarNamedTuples or ArrayLikeBlocks inside PartialArrays.
Previously, nested PartialArrays buried inside these types were never visited, so they were not densified even when fully filled.
Merged pull requests:
- Claude skill for minimize-ad-bug (#1314) (@penelopeysm)
- Fix densify!! not recursing into nested VNTs/ALBs (#1324) (@penelopeysm)
Closed issues:
v0.40.12
DynamicPPL v0.40.12
Added the InitFromParams(::ParamsWithStats) method, which delegates to InitFromParams(::VarNamedTuple).
Merged pull requests:
- Add InitFromParams method and test (#1319) (@hardik-xi11)
Closed issues:
InitFromParams(::ParamsWithStats)(#1124)
v0.40.11
DynamicPPL v0.40.11
Fixed the implementations of Base.:(==) and Base.isequal for DynamicPPL.ParamsWithStats to not require triple-equality of the fields.
Merged pull requests:
- Fix equality for ParamsWithStats (#1320) (@penelopeysm)
v0.40.10
DynamicPPL v0.40.10
Added pretty-printing for DynamicPPL.ParamsWithStats.
Merged pull requests:
- Add pretty-printing for
DynamicPPL.ParamsWithStats(#1318) (@penelopeysm)
v0.40.9
DynamicPPL v0.40.9
Added more docs on special VNT operations, namely densify!! and skeleton.
Merged pull requests:
- Add new docs on some exotic VNT operations (#1317) (@penelopeysm)
v0.40.8
DynamicPPL v0.40.8
Added the skeleton(::VarNamedTuple) function, which creates a completely blank VarNamedTuple except for any PartialArrays, which are retained with their original shape and type but with all elements set to nothing.
Merged pull requests:
- Remove varinfo from run_ad and ADResult, store LDF instead (#1311) (@anurag-mds)
- Implement skeleton function for VNTs (#1316) (@penelopeysm)
Closed issues: