Skip to content
@TuringLang

The Turing Language

Bayesian inference with probabilistic programming

Turing.jl is a Julia library for general-purpose probabilistic programming. Turing allows the user to write models using the standard Julia syntax, and provides a wide range of Monte Carlo sampling and optimisation based inference methods for solving problems across probabilistic machine learning, Bayesian statistics and data science. Compared to other probabilistic programming languages, Turing specializes in modularity, and decouples the modelling language (i.e., the compiler) and inference methods. Turing's modular design and the high-level numerical language Julia make Turing remarkably extensible: new model families and inference methods can be easily added.

Current functionalities include:

Citing Turing.jl

If you use Turing for your research, please consider citing the following publication: Hong Ge, Kai Xu, and Zoubin Ghahramani: Turing: a language for flexible probabilistic inference. AISTATS 2018 pdf bibtex

Pinned Loading

  1. Turing.jl Turing.jl Public

    Bayesian inference with probabilistic programming.

    Julia 2k 218

  2. AdvancedHMC.jl AdvancedHMC.jl Public

    Robust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms

    Jupyter Notebook 231 40

  3. AdvancedMH.jl AdvancedMH.jl Public

    Robust implementation for random-walk Metropolis-Hastings algorithms

    Julia 89 17

  4. NestedSamplers.jl NestedSamplers.jl Public

    Implementations of single and multi-ellipsoid nested sampling

    Julia 42 8

  5. MCMCTempering.jl MCMCTempering.jl Public

    Implementations of parallel tempering algorithms to augment samplers with tempering capabilities

    Julia 31 4

  6. JuliaBUGS.jl JuliaBUGS.jl Public

    A domain specific language (DSL) for probabilistic graphical models

    Julia 21 3

Repositories

Showing 10 of 33 repositories
  • DynamicPPL.jl Public

    Implementation of domain-specific language (DSL) for dynamic probabilistic programming

    TuringLang/DynamicPPL.jl’s past year of commit activity
    Julia 160 MIT 28 49 9 Updated Oct 12, 2024
  • JuliaBUGS.jl Public

    A domain specific language (DSL) for probabilistic graphical models

    TuringLang/JuliaBUGS.jl’s past year of commit activity
    Julia 21 MIT 3 13 3 Updated Oct 12, 2024
  • TuringLang/TuringBenchmarking.jl’s past year of commit activity
    Julia 7 MIT 1 1 2 Updated Oct 12, 2024
  • docs Public

    Documentation and tutorials for the Turing language

    TuringLang/docs’s past year of commit activity
    Shell 229 MIT 99 44 (1 issue needs help) 4 Updated Oct 11, 2024
  • AbstractMCMC.jl Public

    Abstract types and interfaces for Markov chain Monte Carlo methods

    TuringLang/AbstractMCMC.jl’s past year of commit activity
    Julia 84 MIT 18 22 2 Updated Oct 11, 2024
  • SSMProblems.jl Public

    Common abstractions for state-space models

    TuringLang/SSMProblems.jl’s past year of commit activity
    Julia 2 MIT 2 5 3 Updated Oct 11, 2024
  • Turing.jl Public

    Bayesian inference with probabilistic programming.

    TuringLang/Turing.jl’s past year of commit activity
    Julia 2,037 MIT 218 80 13 Updated Oct 11, 2024
  • TuringGLM.jl Public

    Bayesian Generalized Linear models using `@formula` syntax.

    TuringLang/TuringGLM.jl’s past year of commit activity
    Julia 71 MIT 7 12 0 Updated Oct 11, 2024
  • DistributionsAD.jl Public

    Automatic differentiation of Distributions using Tracker, Zygote, ForwardDiff and ReverseDiff

    TuringLang/DistributionsAD.jl’s past year of commit activity
    Julia 151 MIT 30 26 (1 issue needs help) 0 Updated Oct 10, 2024
  • AdvancedVI.jl Public

    Implementation of variational Bayes inference algorithms

    TuringLang/AdvancedVI.jl’s past year of commit activity
    Julia 82 MIT 18 6 7 Updated Oct 10, 2024