Releases: TuringLang/Turing.jl
v0.36.0
Turing v0.36.0
0.36.0 introduces a new Gibbs sampler. It's been included in several previous releases as Turing.Experimental.Gibbs
, but now takes over the old Gibbs sampler, which gets removed completely.
The new Gibbs sampler currently supports the same user-facing interface as the old one, but the old constructors have been deprecated, and will be removed in the future. Also, given that the internals have been completely rewritten in a very different manner, there may be accidental breakage that we haven't anticipated. Please report any you find.
GibbsConditional
has also been removed. It was never very user-facing, but it was exported, so technically this is breaking.
The old Gibbs constructor relied on being called with several subsamplers, and each of the constructors of the subsamplers would take as arguments the symbols for the variables that they are to sample, e.g. Gibbs(HMC(:x), MH(:y))
. This constructor has been deprecated, and will be removed in the future. The new constructor works by mapping symbols, VarName
s, or iterables thereof to samplers, e.g. Gibbs(:x=>HMC(), :y=>MH())
, Gibbs(@varname(x) => HMC(), @varname(y) => MH())
, Gibbs((:x, :y) => NUTS(), :z => MH())
. This allows more granular specification of which sampler to use for which variable.
Likewise, the old constructor for calling one subsampler more often than another, Gibbs((HMC(0.01, 4, :x), 2), (MH(:y), 1))
has been deprecated. The new way to do this is to use RepeatSampler
, also introduced at this version: Gibbs(@varname(x) => RepeatSampler(HMC(0.01, 4), 2), @varname(y) => MH())
.
Merged pull requests:
- Replace old Gibbs sampler with the experimental one. (#2328) (@mhauru)
- CompatHelper: add new compat entry for AbstractPPL at version 0.9 for package test, (keep existing compat) (#2443) (@github-actions[bot])
- CompatHelper: add new compat entry for BangBang at version 0.4 for package test, (keep existing compat) (#2444) (@github-actions[bot])
- CompatHelper: bump compat for AbstractPPL to 0.10 for package test, (keep existing compat) (#2447) (@github-actions[bot])
- CompatHelper: add new compat entry for Combinatorics at version 1 for package test, (keep existing compat) (#2448) (@github-actions[bot])
- Increase atol on specific tests for x86 (#2449) (@penelopeysm)
- Rework Gibbs constructors (#2456) (@mhauru)
- Replace Gibbs inner loop with recursion (#2464) (@mhauru)
- variable naming / destructuring (#2465) (@penelopeysm)
- Remove mention of GibbsConditional from API docs (#2467) (@mhauru)
Closed issues:
- Custom distributions required
rand
to be implemented when "unnecessary" (#907) - Recontruct vs Function with array of parameters (#1969)
- Import style and modularisation (#2288)
- Remove old Gibbs sampler, make the experimental one the default (#2318)
- test/mcmc/Inference.jl segfaults on GHA Windows runner (sometimes) (#2379)
- Automate choice of AD backend (#2417)
- Remove
Gibbs(; m=HMC(0.2, 3), s=PG(10))
in favour ofGibbs(:m=>HMC(0.2, 3), :s=>PG(10))
(#2442) - Gibbs performance regression on Julia v1.11 (#2445)
- initial_params working incorrectly and differently in v0.34.0 and v0.33.0 (#2452)
- Question: Getting 404 error when accesing https://turing.ml/v0.22/docs/using-turing/. (#2466)
v0.35.5
Turing v0.35.5
v0.35.4
Turing v0.35.4
Merged pull requests:
- Implement getstepsize() for NoAdaptation samplers (#2405) (@penelopeysm)
- Tweak sample counts and other details in tests (#2433) (@mhauru)
Closed issues:
v0.35.3
Turing v0.35.3
Merged pull requests:
- Change GHA macOS architecture to aarch64 (#2395) (@penelopeysm)
- CompatHelper: bump compat for Bijectors to 0.15, (keep existing compat) (#2399) (@github-actions[bot])
- Bump DynamicPPL compat to 0.31 (#2404) (@penelopeysm)
- Fix patch version (#2410) (@penelopeysm)
Closed issues:
- Using Bayesian Inference for noise free Likelihood (#1914)
- Depreciate MCMC-interface code in favour of
AbstractMCMC
. (#2281) - Using the score function estimator as gradient for VI (#2287)
- How to save a model / fit and load it? Issue with JLD2 for "reconstructing" (#2309)
- Nested sampling integration (#2329)
- MethodError matching getϵ for AdvancedHMC Adaption (#2400)
v0.35.2
Turing v0.35.2
Merged pull requests:
- Various CI improvements (#2375) (@penelopeysm)
- Fix the global Random.seed in runtests.jl (#2381) (@mhauru)
- Remove outdated version conditions (#2382) (@mhauru)
- Move ADTypeCheckContext tests to a separate module (#2383) (@mhauru)
- Bump Bijectors to 0.14.0 (#2384) (@penelopeysm)
- Don't get stuck in an infinite loop if HMC can't find an initial point (#2392) (@penelopeysm)
Closed issues:
- update() method for updating a fitted model with new data (#2308)
- Drop support for Tracker (#2356)
- Upgrade julia-actions/cache to v2 (#2370)
- AdvancedMH external-sampler tests fail intermittently with 2 threads (#2371)
- Use version = "min" in CI (#2373)
- Data transformation code slows down sampling? (#2380)
- New predict() behaviour and syntax? (#2388)
- Sampling with HMC can hang if AD is bugged (#2389)
v0.35.1
Turing v0.35.1
- Bump Optimization compat to v4
- Bump DynamicPPL compat to v0.30.2
Merged pull requests:
- Bump Optimization to v4, and related packages accordingly (#2354) (@penelopeysm)
- Run JuliaFormatter on more files, remove trailing whitespace (#2374) (@mhauru)
- Bump DynamicPPL compat to 0.30 (#2376) (@penelopeysm)
v0.35.0
Turing v0.35.0
- Drop support for Julia 1.9 and earlier. Minimum Julia version is now 1.10.
- Drop support for Tracker as an AD backend.
- Replace Tapir.jl with its reincarnated form, Mooncake.jl.
Merged pull requests:
- Widen Optimization compat to v4, and related packages accordingly (#2327) (@mhauru)
- CompatHelper: bump compat for DynamicPPL to 0.29, (keep existing compat) (#2339) (@github-actions[bot])
- CompatHelper: bump compat for DynamicPPL to 0.29 for package test, (keep existing compat) (#2340) (@github-actions[bot])
- DynamicPPL -> 0.29; Julia -> 1.10; Tapir -> Mooncake (#2341) (@penelopeysm)
- Revert changing Optimization compat to v4 (#2343) (@penelopeysm)
- Generate API docs (#2347) (@penelopeysm)
- Add issue templates (#2355) (@penelopeysm)
- Remove redundant code in
hmc.jl
(#2357) (@sunxd3) - More autoformatting (#2359) (@mhauru)
- Update to tilde overloads in
mh.jl
(#2360) (@torfjelde)
Closed issues:
v0.34.1
v0.34.0
Turing v0.34.0
Merged pull requests:
- Check that the correct AD backend is being used (#2291) (@mhauru)
- Resolve ADTypeCheckContext method ambiguity (#2299) (@mhauru)
- Fix remaining method ambiguities (#2304) (@penelopeysm)
- Remove unused code (#2312) (@devmotion)
Closed issues:
- Tests to check that the correct AD method is actually used (#2235)
- Enable Aqua.test_ambiguities (#2261)
- Mode estimation's support of Pathfinder integration (#2268)
- Multithread tests fail on master (#2302)
- Julia 1.7 tests are failing (#2305)
- Support potential type argument in rand for eltype of Sampleable (#2306)
- Dead code in
mcmc/hmc.jl
? (#2311)