TuringLang/Turing.jl: v0.46.0
Authors/Creators
- Kai Xu
- Hong Ge1
- Cameron2
- David Müller-Widmann3
- Martin Trapp4
- Tor Erlend Fjelde5
- Penelope Yong
- Mohamed Tarek3
- Markus Hauru
- Will
- Adam Scibior6
- Killian Q. Zhuo7
- Xianda Sun
- Hessam Mehr8
- Emma Smith
- Philipp Gabler
- Harry Wilde9
- Shravan Goswami5
- Jaime RZ10
- Aoife
- Arthur Lui
- FredericWantiez
- Pietro Monticone11
- Tom Röschinger
- azev7712
- Kyurae Kim13
- Phillip Alday14
- Ramon Diaz-Uriarte15
- 1. University of Cambridge
- 2. @letta-ai
- 3. @PumasAI
- 4. Aalto University
- 5. @TuringLang
- 6. University of British Columbia
- 7. None
- 8. King's College London
- 9. @nestauk @dssg @turinglang @knowlab @BHFDSC
- 10. UCL
- 11. Harmonic
- 12. Fowler College of Business, SDSU
- 13. University of Pennsylvania
- 14. Beacon Biosignals
- 15. Universidad Autonoma de Madrid
Description
Turing v0.46.0
Breaking changes
DynamicPPL 0.42
Turing.jl v0.46 brings with it all the underlying changes in DynamicPPL 0.42.
Most notably, gradient preparation and evaluation now go through AbstractPPL's prepare / value_and_gradient!! interface.
This is an internal change and does not affect sampling results.
Please see the DynamicPPL changelog for full details, and the AdvancedVI section below for the user-facing changes in this release.
AdvancedVI 0.7
Turing.jl v0.46 also brings in the changes in AdvancedVI 0.7.
Please see the AdvancedVI changelog for full details; the changes most pertinent to users of vi are:
AutoReverseDiff(; compile=true)is no longer supported for VI, and is rejected with anArgumentError, as compiled tapes can silently produce incorrect gradients when reused across optimisation steps. UseAutoReverseDiff(; compile=false), or a different reverse-mode backend such asAutoMooncake(), instead.viwithKLMinScoreGradDescentnow optimises in unconstrained (linked) space, making it consistent with the otherKLMin...algorithms. If you use it with a model that has constrained parameters, results may differ slightly from previous releases.
Other changes
DifferentiationInterface removed as a direct dependency
informationmatrix (and hence vcov) now computes its Hessian through AbstractPPL's second-order interface instead of DifferentiationInterface. There is no change in behaviour for users.
Performance of nested submodels
DynamicPPL 0.42.1 fixes a type-inference failure that made nested submodels (a x ~ to_submodel(...) statement inside a model that is itself used as a submodel) many times slower to evaluate and differentiate; see https://github.com/TuringLang/Turing.jl/issues/2844.
MCMCChains extension fix
Turing v0.45.0 was accidentally released without declaring the TuringMCMCChainsExt package extension, meaning that the extension did not load when MCMCChains was imported.
This broke some MCMCChains-specific functionality, such as loadstate (for resuming sampling from a previous chain) and the post-sampling divergence warnings for Hamiltonian samplers; this is now fixed.
Merged pull requests:
- CompatHelper: add new compat entry for MCMCChains at version 7 for package test, (keep existing compat) (#2824) (@github-actions[bot])
- CompatHelper: bump compat for AbstractPPL to 0.15, (keep existing compat) (#2826) (@github-actions[bot])
- CompatHelper: bump compat for AbstractPPL to 0.15 for package test, (keep existing compat) (#2827) (@github-actions[bot])
- Update README.md (#2829) (@yebai)
- CompatHelper: bump compat for Bijectors to 0.16, (keep existing compat) (#2830) (@github-actions[bot])
- CompatHelper: bump compat for Bijectors to 0.16 for package test, (keep existing compat) (#2831) (@github-actions[bot])
- CompatHelper: bump compat for DynamicPPL to 0.42, (keep existing compat) (#2832) (@github-actions[bot])
- CompatHelper: bump compat for DynamicPPL to 0.42 for package test, (keep existing compat) (#2833) (@github-actions[bot])
- CompatHelper: bump compat for StatsFuns to 2, (keep existing compat) (#2834) (@github-actions[bot])
- CompatHelper: bump compat for StatsFuns to 2 for package test, (keep existing compat) (#2835) (@github-actions[bot])
- CompatHelper: bump compat for OrderedCollections to 2, (keep existing compat) (#2836) (@github-actions[bot])
- Replace CompatHelper with Dependabot (#2838) (@shravangoswami-bot)
- Bump the all-github-actions-packages group with 4 updates (#2839) (@dependabot[bot])
- Bump codecov/codecov-action from 6 to 7 in the all-github-actions-packages group across 1 directory (#2841) (@dependabot[bot])
- skip codecov upload on Dependabot PRs (#2843) (@shravangoswami-bot)
- Bump actions/checkout from 6 to 7 in the all-github-actions-packages group (#2845) (@dependabot[bot])
- Release 0.46.0 (#2846) (@shravanngoswamii)
Closed issues:
- Add support for CategoricalArrays as inputs into a model (#1815)
- Some useful additions to documentations (#1829)
- Feature request: Automatically handle errors by rejecting proposal (#1891)
- Expose all DynamicHMC configuration options in DynamicNUTS (#1938)
- Missing RJMCMC (reversible-jump) sampler (#2023)
- How to interface with
Turing.jl@modeldefinitions? (#2138) - Wishart priors resulting in
PosDefException: matrix is not positive definite; Cholesky factorization failed(#2188) - Problem with using
predictwith vector valued random variables (#2239) - Constrained or partitioned inference for Turing models. (#2249)
- Distributions defined in Turing: is the plan to keep them here? (#2298)
- Interface for specifying adjoints of FEM models (#2303)
- PDMat error when sampling from prior of model with LKJCholesky (#2316)
- Replace @inferred tests with Jet (#2319)
- Use AllocCheck.jl in tests (#2320)
- Systematically dealing with TODOs (#2362)
- Tutorial on Turing.jl and performance (#2415)
- Gibbs doesn't work with NUTS (#2520)
- Implement
quantile(model(), u)? (#2525) - Online sampling for state-space models (#2531)
- Support for point processes? (#2594)
- Can we improve TTFX with precompilation? (#2646)
- Stop re-exporting all of Distributions (#2682)
- Command-line interface to Turing (#2737)
- Version detection (#2741)
- Add support for Parallel across the sequence MCMC algorithms (#2823)
- Nested submodels slow down sampling (#2844)
Files
TuringLang/Turing.jl-v0.46.0.zip
Files
(187.4 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:1c0fe6a5f77bfeee86a49de81df46975
|
187.4 kB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/TuringLang/Turing.jl/tree/v0.46.0 (URL)
Software
- Repository URL
- https://github.com/TuringLang/Turing.jl