The Turing Language
Turing.jl is a Julia library for general-purposeprobabilistic programming.Turing allows the user to write models using the standard Julia syntax,and provides a wide range of Monte Carlo sampling and optimisation basedinference 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:
- General-purpose probabilistic programming with anintuitive modelling interface
- Robust, efficientHamiltonian Monte Carlo (HMC) sampling for differentiable posterior distributions
- Particle MCMC sampling for complex posterior distributions involving discrete variables and stochastic control flows
- Compositional inference via Gibbs sampling that combines particle MCMC, HMC,Random-Walk MH (RWMH) andElliptical Slice Sampling
- Advanced variational inference based onADVI andNormalising Flows
If you useTuring for your research, please consider citing the following publication: Hong Ge, Kai Xu, and Zoubin Ghahramani:Turing: a language for flexible probabilistic inference. AISTATS 2018pdfbibtex
PinnedLoading
- DynamicPPL.jl
DynamicPPL.jl PublicImplementation of domain-specific language (DSL) for dynamic probabilistic programming
- JuliaBUGS.jl
JuliaBUGS.jl PublicA domain specific language (DSL) for probabilistic graphical models
- AdvancedHMC.jl
AdvancedHMC.jl PublicRobust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms
- Bijectors.jl
Bijectors.jl PublicImplementation of normalising flows and constrained random variable transformations
Repositories
- AdvancedHMC.jl Public
Robust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms
TuringLang/AdvancedHMC.jl’s past year of commit activity - Bijectors.jl Public
Implementation of normalising flows and constrained random variable transformations
TuringLang/Bijectors.jl’s past year of commit activity - TuringBenchmarking.jl Public
TuringLang/TuringBenchmarking.jl’s past year of commit activity - TuringCallbacks.jl Public
TuringLang/TuringCallbacks.jl’s past year of commit activity - DynamicPPL.jl Public
Implementation of domain-specific language (DSL) for dynamic probabilistic programming
TuringLang/DynamicPPL.jl’s past year of commit activity - NormalizingFlows.jl Public
TuringLang/NormalizingFlows.jl’s past year of commit activity