--- layout: splash title: Turing.jl - Turing.jl permalink: / main-feature_row: - title: "Intuitive" excerpt: "Turing models are easy to read and write. Specify models quickly and easily." - title: "Universal" excerpt: "Turing supports models with stochastic control flow — models work the way you write them." - title: "Adaptable" excerpt: "Turing is written fully in Julia, and can be modified to suit your needs." code-sample: excerpt: "Turing's modelling syntax allows you to specify a model quickly and easily. Straightforward models can be expressed in the same way as complex, hierarchical models with stochastic control flow." url: "/docs/using-turing/quick-start" snippet: | @model gdemo(x, y) = begin # Assumptions σ ~ InverseGamma(2,3) μ ~ Normal(0,sqrt(σ)) # Observations x ~ Normal(μ, sqrt(σ)) y ~ Normal(μ, sqrt(σ)) end samplers: image_path: /assets/images/sampler.svg excerpt: "Turing provides Hamiltonian Monte Carlo sampling for differentiable posterior distributions, Particle MCMC sampling for complex posterior distributions involving discrete variables and stochastic control flow, and Gibbs sampling which combines particle MCMC, HMC and many other MCMC algorithms." url: "/docs/library/#samplers" flux: image_path: /tutorials/figures/3_BayesNN_12_1.svg excerpt: "Turing supports Julia's [Flux](http://fluxml.ai/) package for automatic differentiation. Combine Turing and Flux to construct probabalistic variants of traditional machine learning models." url: "/tutorials/3-bayesnn" ecosystem: title: Ecosystem subtitle: Explore a rich ecosystem of libraries, tools, and more to support development. ecosystems: - title: AdvancedHMC url: https://github.com/TuringLang/AdvancedHMC.jl text: Robust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms. - title: MCMCChains url: https://github.com/TuringLang/MCMCChains.jl text: Chain types and utility functions for MCMC simulations. - title: Bijectors url: https://github.com/TuringLang/Bijectors.jl text: Automatic transformations for constrained random variables. community: title: Community subtitle: Join the Turing community to contribute, learn, and get your questions answered. comunities: - title: GitHub url: https://github.com/TuringLang/Turing.jl text: Report bugs, request features, discuss issues, and more. class: github - title: Turing.jl Discuss url: https://discourse.julialang.org/c/domain/probprog text: Browse and join discussions on Turing. class: turing-resource - title: Slack url: https://julialang.slack.com/messages/turing/ text: Discuss advanced topics. [Request access here](https://slackinvite.julialang.org/). class: slack support: title: Companies & Universities
Using Turing.jl supports: - image: assets/images/cambridge.png text: Pushing the state of the art in probabilistic machine learning. - image: assets/images/edinburgh.png text: Using Turing’s flexibility to efficiently research new algorithmic approaches. - image: assets/images/edinburgh.png text: Educating the next wave of Data Scientists using Turing. ---

Turing.jl

Turing is a universal probabilistic programming language with an intuitive modelling interface, composable probabilistic inference, and computational scalability.

{% for f in page.main-feature_row %}

{{ f.title }}

{{ f.excerpt }}
{% endfor %}

A Quick Example

{{ page.code-sample.excerpt | markdownify }}

Quick Start

{% highlight julia %} {{page.code-sample.snippet}} {% endhighlight %}

Large Sampling Library

{{ page.samplers.excerpt | markdownify }}

Samplers

Integrates With Other Machine Learning Packages

{{ page.flux.excerpt | markdownify }}

Bayesian Neural Network Tutorial

Bayesian Neural Network Tutorial

{{ page.community.title }}

{{ page.community.subtitle }}

{% for f in page.community.comunities %}

{{ f.title }}

{{ f.text }}

Go to {{ f.title }}
{% endfor %}

{{ page.ecosystem.title }}

{{ page.ecosystem.subtitle }}

{% for f in page.ecosystem.ecosystems %}

{{ f.title }}

{{ f.text }}

Go to {{ f.title }}
{% endfor %}