v0.37.0
Turing v0.37.0
Breaking changes
Gibbs constructors
0.37 removes the old Gibbs constructors deprecated in 0.36.
Remove Zygote support
Zygote is no longer officially supported as an automatic differentiation backend, and AutoZygote is no longer exported. You can continue to use Zygote by importing AutoZygote from ADTypes and it may well continue to work, but it is no longer tested and no effort will be expended to fix it if something breaks.
Mooncake is the recommended replacement for Zygote.
DynamicPPL 0.35
Turing.jl v0.37 uses DynamicPPL v0.35, which brings with it several breaking changes:
- The right hand side of
.~must from now on be a univariate distribution. - Indexing
VarInfoobjects by samplers has been removed completely. - The order in which nested submodel prefixes are applied has been reversed.
- The arguments for the constructor of
LogDensityFunctionhave changed.LogDensityFunctionalso now satisfies theLogDensityProblemsinterface, without needing a wrapper object.
For more details about all of the above, see the changelog of DynamicPPL here.
Export list
Turing.jl's export list has been cleaned up a fair bit. This affects what is imported into your namespace when you do an unqualified using Turing. You may need to import things more explicitly than before.
-
The
DynamicPPLandAbstractMCMCmodules are no longer exported. You will need toimport DynamicPPLorusing DynamicPPL: DynamicPPL(likewiseAbstractMCMC) yourself, which in turn means that they have to be made available in your project environment. -
@logprob_strand@prob_strhave been removed following a long deprecation period. -
We no longer re-export everything from
BijectorsandLibtask. To get around this, addusing Bijectorsorusing Libtaskat the top of your script (but we recommend using more selective imports).- We no longer export
Bijectors.ordered. If you were usingordered, even Bijectors does not (currently) export this. You will have to manually import it withusing Bijectors: ordered.
- We no longer export
On the other hand, we have added a few more exports:
DynamicPPL.returnedandDynamicPPL.prefixare exported (for use with submodels).LinearAlgebra.Iis exported for convenience.
Merged pull requests:
- Clean up exports (#2474) (@penelopeysm)
- Release v0.37 (#2487) (@mhauru)
- Support for DynamicPPL v0.35 (#2488) (@mhauru)
- More fixes for DynamicPPL 0.35 (#2494) (@penelopeysm)
- CompatHelper: bump compat for AdvancedHMC to 0.7, (keep existing compat) (#2503) (@github-actions[bot])
- Remove
Zygote(#2505) (@yebai)
Closed issues:
- Improper initial values when supports of the prior distribution are themselves random (#1270)
- Specify which variables to track (#1444)
- Calibration Example of Complex Model (#1516)
- Errors in Sampling When Parameter Bounds Depend on Parameters (#1558)
- Gibbs gives different sampling results with fixed rng (#1731)
- Performance regression for BernoulliLogit (#1934)
- Create a package extension for
JuliaBUGS(#2104) - Setup continuous benchmarking for Tuirng/DynamicPPL (#2238)
- Using @distributed to accelerate but getting wrong results (#2265)
- AD with Tracker.jl versus Zygote.jl and Mooncake.jl. For BNN. (#2454)
- Remove
Zygotefrom tests and docs (#2504)