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
VarInfo
objects by samplers has been removed completely. - The order in which nested submodel prefixes are applied has been reversed.
- The arguments for the constructor of
LogDensityFunction
have changed.LogDensityFunction
also now satisfies theLogDensityProblems
interface, 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
DynamicPPL
andAbstractMCMC
modules are no longer exported. You will need toimport DynamicPPL
orusing DynamicPPL: DynamicPPL
(likewiseAbstractMCMC
) yourself, which in turn means that they have to be made available in your project environment. -
@logprob_str
and@prob_str
have been removed following a long deprecation period. -
We no longer re-export everything from
Bijectors
andLibtask
. To get around this, addusing Bijectors
orusing Libtask
at 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.returned
andDynamicPPL.prefix
are exported (for use with submodels).LinearAlgebra.I
is 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
Zygote
from tests and docs (#2504)