SPFlow: An Easy and Extensible Library for Deep Probabilistic Learning using Sum-Product Networks

01/11/2019
by   Alejandro Molina, et al.
0

We introduce SPFlow, an open-source Python library providing a simple interface to inference, learning and manipulation routines for deep and tractable probabilistic models called Sum-Product Networks (SPNs). The library allows one to quickly create SPNs both from data and through a domain specific language (DSL). It efficiently implements several probabilistic inference routines like computing marginals, conditionals and (approximate) most probable explanations (MPEs) along with sampling as well as utilities for serializing, plotting and structure statistics on an SPN. Moreover, many of the algorithms proposed in the literature to learn the structure and parameters of SPNs are readily available in SPFlow. Furthermore, SPFlow is extremely extensible and customizable, allowing users to promptly distill new inference and learning routines by injecting custom code into a lightweight functional-oriented API framework. This is achieved in SPFlow by keeping an internal Python representation of the graph structure that also enables practical compilation of an SPN into a TensorFlow graph, C, CUDA or FPGA custom code, significantly speeding-up computations.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/30/2021

DeepAL: Deep Active Learning in Python

We present DeepAL, a Python library that implements several common strat...
research
06/17/2023

FuzzyLogic.jl: a Flexible Library for Efficient and Productive Fuzzy Inference

This paper introduces FuzzyLogic.jl, a Julia library to perform fuzzy in...
research
12/07/2020

MFST: A Python OpenFST Wrapper With Support for Custom Semirings and Jupyter Notebooks

This paper introduces mFST, a new Python library for working with Finite...
research
12/08/2022

DeeProb-kit: a Python Library for Deep Probabilistic Modelling

DeeProb-kit is a unified library written in Python consisting of a colle...
research
12/03/2021

ProbNum: Probabilistic Numerics in Python

Probabilistic numerical methods (PNMs) solve numerical problems via prob...
research
10/31/2016

Edward: A library for probabilistic modeling, inference, and criticism

Probabilistic modeling is a powerful approach for analyzing empirical in...
research
05/17/2023

Tractable Probabilistic Graph Representation Learning with Graph-Induced Sum-Product Networks

We introduce Graph-Induced Sum-Product Networks (GSPNs), a new probabili...

Please sign up or login with your details

Forgot password? Click here to reset