Releases: TuringLang/Turing.jl
Releases · TuringLang/Turing.jl
Improving AD type stability.
This release improves the type stability of automatic differentiation. For more details, see #626. Speeds should be slightly increased across all samplers, though Gibbs
sampling experienced a fairly significant performance boost (source).
You can now specify different autodiff methods for each variable. The snippet below shows using ForwardDiff to sample the mean (m
) parameter, and using the Flux-based autodiff for the variance (s
) parameter:
using Turing
# Define a simple Normal model with unknown mean and variance.
@model gdemo(x, y) = begin
s ~ InverseGamma(2, 3)
m ~ Normal(0, sqrt(s))
x ~ Normal(m, sqrt(s))
y ~ Normal(m, sqrt(s))
return s, m
end
c = sample(gdemo(1.5, 2), Gibbs(1000,
HMC{Turing.ForwardDiffAD{1}}(2, 0.1, 5, :m),
HMC{Turing.FluxTrackerAD}(2, 0.1, 5, :s)))
Fixed some AD issues.
Fix and add more AD tests (#625) * add binomlogpdf ForwardDiff.Dual workaround * fix broken AD tests and add some more * remove FDM from REQUIRE
Make default adaptation numerical stable
Improve numerical stability (#619) * remove unnecessary lower bound check * make default precond to diagonal * add numerical stable Binomial with logit * fix DA complete adapt * add test of BinomialLogit * turn off pre-cond adapt by default
Changed AD default backend to ForwardDiff.
Improve numerical stability (#619) * remove unnecessary lower bound check * make default precond to diagonal * add numerical stable Binomial with logit * fix DA complete adapt * add test of BinomialLogit * turn off pre-cond adapt by default
Fixed some adaption issues in HMC/NUTS.
Merge pull request #610 from TuringLang/ChrisRackauckas-patch-1 Update REQUIRE
Fixed an issue with broadcasting in VarInfo.
v0.5.1 Merge branch 'master' of https://github.com/TuringLang/Turing.jl
v0.5.0
v0.4.4: Use Requires.jl to remove the dependency of Stan (#459)
* remove unused test file * use Requires.jl to remove the dependency of Stan * link explanations to PR
Improved stability through internal refactoring of HMC APIs
Refactoring HMC API (#436) * move gmm overwrite out core source code * refactor find_H * refactor sample momentum * refactor lf step * hmc step abstraction v1.0 done * make hmcda using _hmc_step * add a note * add bayes lr * add things to runtests * add sv turing * add Turing-free nuts * bug free Turing-free nuts * update reference * add grad check unit test * add gdemo * add gdemo nuts * restructure hmc_core tests * NUTS works * Change rand seed for test * fix adapation condition bug * add test REQUIRE * Remove all benchmarks * change test nuts file name * rearrange hmc codes * add unit test for leapfrog * clean nuts test * Remove obsolete dependence on deps.jl * fix typo * add new lines to the end of files * rename file * add new lines to the end of files * use macros to gen functions with the same pattern * resolve indentation * add explict return * resolve indentation * more stable mh accept * Remove unrelated notebook * Unify the use of mh_accept * replace macro by closure to gen local funcs * improve doc
Add support for BinaryProvider
Delete building file if exist (#443) * del building file if exist * add BinaryProvider to REQUIRE