---
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: "http://turing.ml/docs/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: "/docs/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 is a universal probabilistic programming language with an intuitive modelling interface, composable probabilistic inference, and computational scalability.
{{ page.community.subtitle }}
{{ page.ecosystem.subtitle }}