Dimple is an open-source software tool for probabilistic modeling, inference, and learning.  Dimple allows models to be specified in the form of probabilistic graphical models, and can perform inference on those models using a variety of algorithms, including various forms of belief propagation and Gibbs sampling.

Dimple allows a user to construct probabilistic models in a form largely independent of the algorithm used to perform inference on it. This is intended to allow rapid prototyping of complicated probabilistic models, freeing the user from the complexities of the inference algorithms.

Dimple is open source and maintained as a Github project.

Features include:
  • MATLAB and Java versions the API.
  • Supports a variety of solvers for performing inference, including sum-product and Gaussian belief propagation (BP), min-sum BP, particle BP, discrete junction tree, linear programming (LP), and Gibbs sampling.
  • Supports both undirected and directed graphs.
  • Supports both discrete and continuous variables.
  • Supports arbitrary factor functions as well as a library of standard distributions and mathematical functions.
  • Supports nested graphs.
  • Supports rolled-up graphs (repeated HMM-like structures).
    A more detailed description can be found in the Dimple user manual as well as in this article.

    Contact Us

    If you have issues using Dimple, feel free to contact us at: dimple_support@groups.lyricsemiconductor.com
    or report them on https://github.com/AnalogDevicesLyricLabs/dimple/issues.

    We also maintain two public mailing lists for dimple users: dimple-users and dimple-beta. The former is for announcements and discussion of Dimple. The latter is for users who want to check out and use pre-release code from the master branch and want to be informed of recent or upcoming changes or discuss issues or concerns with the pre-release. To subscribe to either list send mail to dimple-users-request@groups.lyricsemiconductor.com or dimple-beta-request@groups.lyricsemiconductor.com with "subscribe" in the subject line.


    Dimple has been released under the Apache License 2.0, and is free to use for commercial or academic purposes. However, please acknowledge its use with a citation:
     author = {Shawn Hershey and 
               Jeffrey Bernstein and 
               Bill Bradley and 
               Andrew Schweitzer and
               Noah Stein and 
               Theophane Weber and 
               Benjamin Vigoda}, 
     title = {Accelerating Inference: towards a full Language, Compiler and Hardware stack}, 
     journal = {CoRR}, 
     volume = {abs/1212.2991}, 
     year = {2012}, 
     ee = {http://arxiv.org/abs/1212.2991}, 
     bibsource = {DBLP, http://dblp.uni-trier.de} }

    Dimple has been developed at Lyric Labs at Analog Devices, Inc.