Skip to content

Releases: TuringLang/DynamicPPL.jl

v0.40.17

27 Mar 23:43
61eda05

Choose a tag to compare

DynamicPPL v0.40.17

Diff since v0.40.16

Implemented missing methods for Base.copy on internal structs.

Merged pull requests:

v0.40.16

26 Mar 22:43
1285327

Choose a tag to compare

DynamicPPL v0.40.16

Diff since v0.40.15

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:

Closed issues:

  • debug raw value acc is not threadsafe (#1337)

v0.40.15

24 Mar 10:56
a1e8f06

Choose a tag to compare

DynamicPPL v0.40.15

Diff since v0.40.14

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:

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 of eltype and one of Bool? (#1210)
  • things like nameof, getmissings and nameof are not public and should not be (#1256)

v0.40.14

13 Mar 02:08
563a463

Choose a tag to compare

DynamicPPL v0.40.14

Diff since v0.40.13

Fixed check_model() erroneously failing for models such as x[1:2] .~ univariate_dist.

Merged pull requests:

Closed issues:

  • x[1:4] .~ Normal() fails check_model (#1321)

v0.40.13

12 Mar 17:37
297e2e0

Choose a tag to compare

DynamicPPL v0.40.13

Diff since v0.40.12

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:

Closed issues:

  • Write a Claude skill for minimising AD bugs (#1313)
  • densify!! fails on demo_nested_colons (#1323)

v0.40.12

10 Mar 18:59
50626b8

Choose a tag to compare

DynamicPPL v0.40.12

Diff since v0.40.11

Added the InitFromParams(::ParamsWithStats) method, which delegates to InitFromParams(::VarNamedTuple).

Merged pull requests:

Closed issues:

  • InitFromParams(::ParamsWithStats) (#1124)

v0.40.11

10 Mar 16:35
42cad58

Choose a tag to compare

DynamicPPL v0.40.11

Diff since v0.40.10

Fixed the implementations of Base.:(==) and Base.isequal for DynamicPPL.ParamsWithStats to not require triple-equality of the fields.

Merged pull requests:

v0.40.10

10 Mar 14:25
8714d8d

Choose a tag to compare

DynamicPPL v0.40.10

Diff since v0.40.9

Added pretty-printing for DynamicPPL.ParamsWithStats.

Merged pull requests:

v0.40.9

10 Mar 00:50
a233e87

Choose a tag to compare

DynamicPPL v0.40.9

Diff since v0.40.8

Added more docs on special VNT operations, namely densify!! and skeleton.

Merged pull requests:

v0.40.8

09 Mar 18:05
e404686

Choose a tag to compare

DynamicPPL v0.40.8

Diff since v0.40.7

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:

Closed issues:

  • Shake up TestUtils.run_ad interface again (#1309)
  • simplify code (#1312)