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 2.1k 219

  2. AdvancedHMC.jl AdvancedHMC.jl Public

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

    Jupyter Notebook 256 43

  3. AdvancedMH.jl AdvancedMH.jl Public

    Robust implementation for random-walk Metropolis-Hastings algorithms

    Julia 98 18

  4. NestedSamplers.jl NestedSamplers.jl Public

    Implementations of single and multi-ellipsoid nested sampling

    Julia 45 9

  5. MCMCTempering.jl MCMCTempering.jl Public

    Implementations of parallel tempering algorithms to augment samplers with tempering capabilities

    Julia 35 5

  6. JuliaBUGS.jl JuliaBUGS.jl Public

    A domain specific language (DSL) for probabilistic graphical models

    Julia 30 7

Repositories

Showing 10 of 35 repositories
  • Turing.jl Public

    Bayesian inference with probabilistic programming.

    TuringLang/Turing.jl’s past year of commit activity
    Julia 2,065 MIT 219 97 2 Updated Dec 29, 2024
  • AdvancedPS.jl Public

    Implementation of advanced Sequential Monte Carlo and particle MCMC algorithms

    TuringLang/AdvancedPS.jl’s past year of commit activity
    Julia 57 MIT 11 7 0 Updated Dec 29, 2024
  • MCMCTempering.jl Public

    Implementations of parallel tempering algorithms to augment samplers with tempering capabilities

    TuringLang/MCMCTempering.jl’s past year of commit activity
    Julia 35 MIT 5 6 0 Updated Dec 29, 2024
  • TuringLang/TuringCallbacks.jl’s past year of commit activity
    Julia 14 MIT 9 6 3 Updated Dec 29, 2024
  • Bijectors.jl Public

    Implementation of normalising flows and constrained random variable transformations

    TuringLang/Bijectors.jl’s past year of commit activity
    Julia 219 MIT 34 47 4 Updated Dec 29, 2024
  • MCMCChains.jl Public

    Types and utility functions for summarizing Markov chain Monte Carlo simulations

    TuringLang/MCMCChains.jl’s past year of commit activity
    Julia 270 31 38 7 Updated Dec 29, 2024
  • AdvancedHMC.jl Public

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

    TuringLang/AdvancedHMC.jl’s past year of commit activity
    Jupyter Notebook 256 MIT 43 50 7 Updated Dec 29, 2024
  • TuringLang/NormalizingFlows.jl’s past year of commit activity
    Julia 34 MIT 5 11 6 Updated Dec 29, 2024
  • EllipticalSliceSampling.jl Public

    Julia implementation of elliptical slice sampling.

    TuringLang/EllipticalSliceSampling.jl’s past year of commit activity
    Julia 15 MIT 6 1 0 Updated Dec 29, 2024
  • TuringLang/MCMCDiagnosticTools.jl’s past year of commit activity
    Julia 20 7 5 0 Updated Dec 29, 2024