Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,25 @@ Since this is not the only way to deal with constrained supports, `Bijectors` ex
In addition, `KLMinRepGradDescent`, `KLMinRepGradProxDescent`, `KLMinScoreGradDescent` now expect an unconstrained target log-density problem.
Instead, a tutorial has been added to the documentation on how to deal with a target log-density problem with constrained support.

## Migration to the AbstractPPL evaluator interface

AdvancedVI no longer depends on `DifferentiationInterface`. Automatic differentiation is now routed through AbstractPPL's evaluator interface (`AbstractPPL.prepare` / `AbstractPPL.value_and_gradient!!`), introduced in AbstractPPL 0.15.

For users, the consequence is that the AD backend package must be loaded so that its `AbstractPPL.prepare` method is available:

- `AutoForwardDiff` works with `using ForwardDiff`.
- `AutoMooncake` works with `using Mooncake`.
- Other backends routed through DifferentiationInterface (for example `AutoReverseDiff` and `AutoEnzyme`) additionally require `using DifferentiationInterface` alongside the concrete backend package.

`AutoReverseDiff(; compile=true)` is now rejected with an `ArgumentError`. Compiled tapes freeze captured values at preparation time, so reusing a prepared evaluator across optimization iterations would differentiate against stale data and silently produce incorrect gradients. Use `AutoReverseDiff(; compile=false)`, or a reverse-mode backend such as `AutoMooncake` or `AutoEnzyme`, instead.

## Compatibility bounds

- `AbstractPPL` is now a dependency, bounded to `0.15`.
- `DynamicPPL` is bumped from `0.40, 0.41` to `0.42`.
- `Mooncake` is bumped from `0.4, 0.5` to `0.5.31`.
- `DifferentiationInterface` is removed from the dependencies.

# Release 0.6.2

Some subtle bugs in the implementations of `KLMinWassFwdBwd`, `KLMinNaturalGradDescent`, `KLMinSqrtNaturalGradDescent` have been fixed.
Expand Down
Loading