Releases: TuringLang/AdvancedVI.jl
Releases · TuringLang/AdvancedVI.jl
v0.2.12
AdvancedVI v0.2.12
This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.
v0.4.0
AdvancedVI v0.4.0
changelog
- Added proximal operator for the location-scale family proposed by 1. This proximal operator is supported for the optimization rules
DoG
,DoWG
,Descent
.
Merged pull requests:
- Proximal operator for the entropy of location-scale families (#168) (@Red-Portal)
-
Domke, Justin. "Provable smoothness guarantees for black-box variational inference." International Conference on Machine Learning. PMLR, 2020. ↩
v0.3.2
v0.3.1
AdvancedVI v0.3.1
Major Changes:
- Previously,
AdvancedVI
directly calledEnzyme
through its official public interface. Now, t is called throughDifferentiationInterface
. - All AD calls are made with
prepare_gradient
.
Merged pull requests:
- CompatHelper: add new compat entry for AdvancedVI at version 0.3 for package bench, (keep existing compat) (#154) (@github-actions[bot])
- CompatHelper: bump compat for Zygote to 0.7 for package bench, (keep existing compat) (#156) (@github-actions[bot])
- CompatHelper: bump compat for Zygote to 0.7 for package test, (keep existing compat) (#157) (@github-actions[bot])
- Documentation and Turing Navigation CI improvement (#158) (@shravanngoswamii)
- remove unnecessary weakdeps (#159) (@yebai)
- simplify package extension for post Julia 1.10 (#161) (@yebai)
- Update Enzyme usage in test files (#162) (@yebai)
- Optimize code for better performance and maintainability (#163) (@yebai)
- Fix
ClipScale
dispatch error (#164) (@yebai) - Remove the Enzyme extension, prepare gradient (#166) (@yebai)
Closed issues:
v0.3.0
AdvancedVI v0.3.0
Breaking changes
- Complete rewrite of
AdvancedVI
with major changes in the API. (Refer to general usage and the example.)
New Features
- Added full-rank and low-rank covariance low-rank variational families. (See the docs.)
- Added the sticking-the-landing control variate. (See the docs.)
- Added the score gradient estimator of the ELBO gradient with the leave-one-out control variate (also known as VarGrad)
- Added parameter averaging. (See the docs)
- Added parameter-free optimization algorithms. (See the docs)
Merged pull requests:
- Minor Touches for
ScoreGradELBO
(#99) (@Red-Portal) - Drop support for pre-1.10 (#129) (@Red-Portal)
- refactor interface for projections/proximal operators (#147) (@Red-Portal)
- CompatHelper: bump compat for AdvancedVI to 0.2 for package docs, (keep existing compat) (#153) (@github-actions[bot])
Closed issues:
- Set up unit tests for GPU support (#70)
v0.2.11
AdvancedVI v0.2.11
Merged pull requests:
- CompatHelper: bump compat for Bijectors in [weakdeps] to 0.14, (keep existing compat) (#137) (@github-actions[bot])
- CompatHelper: bump compat for Bijectors to 0.14 for package bench, (keep existing compat) (#138) (@github-actions[bot])
- CompatHelper: bump compat for Bijectors to 0.14 for package test, (keep existing compat) (#139) (@github-actions[bot])
- CompatHelper: bump compat for Bijectors to 0.14 for package docs, (keep existing compat) (#140) (@github-actions[bot])
- bump bijectors on v0.2 (#152) (@Red-Portal)
v0.2.10
v0.2.9
AdvancedVI v0.2.9
Merged pull requests:
- Add benchmarks (#104) (@Red-Portal)
- Cleanup empty extensions (#128) (@Red-Portal)
- CompatHelper: bump compat for Documenter to 1 for package docs, (keep existing compat) (#130) (@github-actions[bot])
- bump Enzyme version in v0.2 (#132) (@Red-Portal)
- Bump patch version to 0.2.9 (#135) (@mhauru)
Closed issues:
- are there any special purposes of having empty pkg extensions? (#100)
v0.2.8
v0.2.7
AdvancedVI v0.2.7
Merged pull requests:
- Rewriting advancedvi docs (#53) (@Red-Portal)
- fix rename
adbackend
toadtype
(#60) (@Red-Portal) - add continuous benchmarking (#61) (@Red-Portal)
- remove signature with user-defined restructure (#64) (@Red-Portal)
- add indirection for update step, add projection for
LocationScale
(#65) (@Red-Portal) - fix avoid re-defining the differentiation objective to support AD pre-compilation (#66) (@Red-Portal)
- Enable Enzyme (#67) (@Red-Portal)
- Add ScoreELBO objective (#72) (@arnauqb)
- Create Format.yml (#73) (@shravanngoswamii)
- Add "low-rank" variational families (#76) (@Red-Portal)
- Run benchmarks only on PR (#77) (@shravanngoswamii)
- Exclude benchmarks from DocsNav (#78) (@shravanngoswamii)
- Fix Enzyme extension (#79) (@devmotion)
- Formatting all files (#80) (@yebai)
- Parameter-Free Optimization Algorithms (#81) (@Red-Portal)
- Tapir.jl Integration (#86) (@willtebbutt)
- CompatHelper: add new compat entry for Tapir in [weakdeps] at version 0.2, (keep existing compat) (#87) (@github-actions[bot])
- Fix
Enzyme
tests on older Julia versions (#88) (@Red-Portal) - Grant push permissions to Benchmark.yml (#90) (@penelopeysm)
- Only upload benchmark results if not on a fork (#91) (@penelopeysm)
- Adapt to pending Enzyme breaking change (#92) (@wsmoses)
- Revert "Adapt to pending Enzyme breaking change" (#93) (@Red-Portal)
- Revert "Revert "Adapt to pending Enzyme breaking change"" (#94) (@Red-Portal)
- Add SSH key for all relevant workflows (#97) (@penelopeysm)
- Migrate to DifferentiationInterface (#98) (@Red-Portal)
- add subdirectories to compathelper (#102) (@Red-Portal)
- Add minimal documentation for v0.2 (#105) (@penelopeysm)
- Create a new release so that stable docs get generated (#106) (@penelopeysm)
Closed issues:
- Stein Variational Gradient Descent (SVGD) (#3)
- Double Stochasticity (#4)
- Callback function during training (#5)
- Rethinking AdvancedVI (#24)
- Setting up Documenter (#39)
- Add Tapir to AD tests (#63)
- Set up
JuliaFormatter
(#69) - Run benchmarking only on PRs (#74)
var
andcov
onMvLocationScale
secretly assume the base distribution is standardized (#75)- Where are the benchmarks posted? (#82)
- Make use of DifferentiationInterface.jl? (#85)