Skip to content

Releases: TuringLang/Turing.jl

Improving AD type stability.

20 Dec 21:46
bf3494a
Compare
Choose a tag to compare

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.

14 Dec 08:35
Compare
Choose a tag to compare
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

09 Dec 14:49
Compare
Choose a tag to compare
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.

09 Dec 03:16
Compare
Choose a tag to compare
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.

28 Nov 14:11
1afa020
Compare
Choose a tag to compare
Merge pull request #610 from TuringLang/ChrisRackauckas-patch-1

Update REQUIRE

Fixed an issue with broadcasting in VarInfo.

02 Oct 09:37
Compare
Choose a tag to compare
v0.5.1

Merge branch 'master' of https://github.com/TuringLang/Turing.jl

v0.5.0

14 Sep 19:40
ce780b8
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release
Update REQUIRE

v0.4.4: Use Requires.jl to remove the dependency of Stan (#459)

10 Aug 20:36
Compare
Choose a tag to compare
* 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

03 Jul 22:01
Compare
Choose a tag to compare
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

16 May 17:39
705a67b
Compare
Choose a tag to compare
Delete building file if exist (#443)

* del building file if exist

* add BinaryProvider to REQUIRE