The Turing Language
Turing.jl is a general-purposeprobabilistic programming language. Turing is implemented in the Julia language and allows the user to write probabilistic models using an intuitive@model
syntax.
Turing provides a wide range of Monte-Carlo sampling and optimisation-based inference methods for performing inference on probabilistic models.
Current functionalities include:
- Intuitive syntax for specifying probabilistic models
- Hamiltonian Monte Carlo (HMC) sampling for differentiable probability distributions
- Particle MCMC sampling for complex posterior distributions involving discrete variables and stochastic control flows
- Gibbs sampling that combines particle MCMC, HMC,Random-Walk MH (RWMH),Elliptical Slice Sampling and more.
- Variational inference based onADVI andNormalising Flows
- Maximum likelihood and maximum a posteriori estimation based onL-BFGS optimisation.
If you have used Turing.jl in your work, we would be very grateful if you could cite the following:
Turing.jl: a general-purpose probabilistic programming language
Tor Erlend Fjelde, Kai Xu, David Widmann, Mohamed Tarek, Cameron Pfiffer, Martin Trapp, Seth D. Axen, Xianda Sun, Markus Hauru, Penelope Yong, Will Tebbutt, Zoubin Ghahramani, Hong Ge
ACM Transactions on Probabilistic Machine Learning, 2025
Turing: A Language for Flexible Probabilistic Inference
Hong Ge, Kai Xu, Zoubin Ghahramani
Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics, PMLR 84:1682-1690, 2018.
Expand for BibTeX
@article{10.1145/3711897,author ={Fjelde, Tor Erlend and Xu, Kai and Widmann, David and Tarek, Mohamed and Pfiffer, Cameron and Trapp, Martin and Axen, Seth D. and Sun, Xianda and Hauru, Markus and Yong, Penelope and Tebbutt, Will and Ghahramani, Zoubin and Ge, Hong},title ={Turing.jl: a general-purpose probabilistic programming language},year ={2025},publisher ={Association for Computing Machinery},address ={New York, NY, USA},url ={https://doi.org/10.1145/3711897},doi ={10.1145/3711897},note ={Just Accepted},journal ={ACM Trans. Probab. Mach. Learn.},month = feb,}@InProceedings{pmlr-v84-ge18b,title ={Turing: A Language for Flexible Probabilistic Inference},author ={Ge, Hong and Xu, Kai and Ghahramani, Zoubin},booktitle ={Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics},pages ={1682--1690},year ={2018},editor ={Storkey, Amos and Perez-Cruz, Fernando},volume ={84},series ={Proceedings of Machine Learning Research},month ={09--11 Apr},publisher ={PMLR},pdf ={http://proceedings.mlr.press/v84/ge18b/ge18b.pdf},url ={https://proceedings.mlr.press/v84/ge18b.html},}
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
Uh oh!
There was an error while loading.Please reload this page.
TuringLang/Turing.jl’s past year of commit activity - DynamicPPL.jl Public
Implementation of domain-specific language (DSL) for dynamic probabilistic programming
Uh oh!
There was an error while loading.Please reload this page.
TuringLang/DynamicPPL.jl’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
TuringLang/AdvancedVI.jl’s past year of commit activity - Libtask.jl Public
Resumable and copyable functions a.k.a. coroutines for Julia, with optional function-specific globals.
Uh oh!
There was an error while loading.Please reload this page.
TuringLang/Libtask.jl’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
TuringLang/SliceSampling.jl’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
TuringLang/JuliaBUGS.jl’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
TuringLang/AbstractPPL.jl’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
TuringLang/AbstractMCMC.jl’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
TuringLang/docs’s past year of commit activity Uh oh!
There was an error while loading.Please reload this page.
TuringLang/NormalizingFlows.jl’s past year of commit activity
Top languages
Loading…
Uh oh!
There was an error while loading.Please reload this page.
Most used topics
Loading…
Uh oh!
There was an error while loading.Please reload this page.