MIT Inference Stack

This is the release page for MIT Inference Stack 0.3.1 from the MIT Probabilistic Computing Project. The release is a stand-alone Docker image that includes a running Jupyter notebook server through which the probcomp software and documentation can be accessed.

The MIT Inference Stack contains multiple probabilistic computing systems:

  1. An interactive Juypter notebook environment for building models and performing inference using other components of the stack.

  2. The bayeslite implementation of BayesDB, a platform for AI-assisted data science. [Documentation]

  3. The venturelite implementation of Venture, an interactive probabilistic reasoning platform that has been used for teaching probabilistic modeling and inference and for rapid prototyping in computer vision, data science, and robotics. [Documentation]

  4. A pre-alpha version of Gen, a platform for real-time inference in generative models.

  5. Python libraries for AI-assisted data science, based on compositional generative population models.

  6. Multiple implementations of CrossCat, a scalable engine for non-parametric Bayesian model discovery. This includes Loom, an implementation that was open-sourced by after acquisition of Navia Systems/Prior Knowledge Inc. CrossCat provides the Bayesian probabilistic program synthesis approach to automatic Bayesian model discovery in BayesDB.

Key capabilities of these platforms can be accessed via the notebooks included with this release.

Version 0.3.1 of the MIT Inference Stack was created on 20 July 2017.

Before you start

This is research software. It is certain to contain flaws. No warranty of any kind is implied by this release. Use it at your own risk.

The installation requires some level of technical ability, specifically the ability to use the command line, and to install prerequisite software if required.

Hardware requirements

The notebooks in this release have successfully executed with the following hardware configuration, with acceptable performance:

  • 60 GB RAM
  • 32 CPU cores
  • 2.5 GB available disk space

Running with much less than this may lead to heavy load, long delays, and/or crashes. Actual application demands vary depending on the particulars of the data set, both on its size and on the data itself.

We assume that you are using a workstation possessing the recommended resources via the workstation’s monitor and keyboard. Client/server configurations are possible for this software with additional setup, but methods vary by operating system. We have not prepared documentation for client/server configurations.

Software prerequisites

probcomp-stack-0.3.1 has been tested on Ubuntu 16.04.2 LTS, but we anticipate that it will run on any operating system that supports Docker, such as most GNU/Linux variants, Mac OS X, and 64-bit Windows 10.

probcomp-stack-0.3.1 requires Docker version 1.6 or later.

Download and installation

  1. Download and save the probcomp-stack-0.3.1 distribution (511 MB).

    Optional: To check the integrity of the download, verify that the SHA256 checksum is efd28ab0f09b30562fb0314c65206ffbcf19e558f53a979a793bc8790d7a008c.

  2. At the command line, navigate to the directory containing probcomp-stack-full-0.3.1.tar.gz.

    Tell Docker about the probcomp-stack container as follows:

     $ docker load --input probcomp-stack-full-0.3.1.tar.gz

How to run

  1. At the command line, navigate to the directory containing probcomp-stack-full-0.3.1.tar.

  2. Start the Docker container as follows:

     $ docker run --rm --publish \
  3. In a web browser, visit the location http://localhost:8080/.

In the unlikely event that port 8080 is unavailable on your machine, feel free to choose a different port.

Saving your work

To save any changed or new notebooks, use ‘Download’ in the Jupyter notebook ‘File’ menu.