Concepedia

Publication | Open Access

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

14

Citations

0

References

2019

Year

Abstract

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