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 227

  2. docs docs Public

    Documentation and tutorials for the Turing language

    Markdown 235 102

  3. DynamicPPL.jl DynamicPPL.jl Public

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

    Julia 225 35

  4. JuliaBUGS.jl JuliaBUGS.jl Public

    A domain specific language (DSL) for probabilistic graphical models

    Julia 44 9

  5. AdvancedHMC.jl AdvancedHMC.jl Public

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

    Jupyter Notebook 284 44

  6. Bijectors.jl Bijectors.jl Public

    Implementation of normalising flows and constrained random variable transformations

    Julia 243 38

Repositories

Showing 10 of 29 repositories
  • DynamicPPL.jl Public

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

    TuringLang/DynamicPPL.jl’s past year of commit activity
    Julia 225 MIT 35 76 (3 issues need help) 15 Updated May 14, 2025
  • Turing.jl Public

    Bayesian inference with probabilistic programming.

    TuringLang/Turing.jl’s past year of commit activity
    Julia 2,123 MIT 227 95 10 Updated May 14, 2025
  • JuliaBUGS.jl Public

    A domain specific language (DSL) for probabilistic graphical models

    TuringLang/JuliaBUGS.jl’s past year of commit activity
    Julia 44 MIT 9 14 2 Updated May 14, 2025
  • SSMProblems.jl Public

    State space programming

    TuringLang/SSMProblems.jl’s past year of commit activity
    Julia 4 MIT 3 24 7 Updated May 14, 2025
  • SliceSampling.jl Public

    Slice sampling algorithms in Julia

    TuringLang/SliceSampling.jl’s past year of commit activity
    Julia 11 MIT 3 2 0 Updated May 14, 2025
  • 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 284 MIT 44 37 9 Updated May 14, 2025
  • Turing-Workshop Public

    Materials used by previous Turing related workshop events

    TuringLang/Turing-Workshop’s past year of commit activity
    Jupyter Notebook 15 CC-BY-SA-4.0 3 0 1 Updated May 14, 2025
  • docs Public

    Documentation and tutorials for the Turing language

    TuringLang/docs’s past year of commit activity
    Markdown 235 MIT 102 50 (1 issue needs help) 3 Updated May 13, 2025
  • AdvancedVI.jl Public

    Implementation of variational Bayes inference algorithms

    TuringLang/AdvancedVI.jl’s past year of commit activity
    Julia 90 MIT 19 6 3 Updated May 13, 2025
  • NormalizingFlows.jl Public

    Implementation of normalizing flows compatible with Bijectors.jl

    TuringLang/NormalizingFlows.jl’s past year of commit activity
    Julia 39 MIT 5 8 2 Updated May 13, 2025