LibSPN: A Library for Learning and Inference with Sum-Product Networks and TensorFlow
Sum-Product Networks (SPNs) are a probabilistic deep architecture with solid theoretical foundations, which demonstrated state-of-the-art performance in several domains. LibSPN is a general-purpose Python library designed to make it straightforward and effortless to apply various SPN architectures to large-scale datasets and problems.
Overview
Surprisingly, there were no mature, general-purpose SPN implementations that would serve as a platform for the community of machine learning researchers. LibSPN aims to become such a platform. The library achieves scalability and efficiency thanks to a tight coupling with TensorFlow, a framework already used by a large community of researchers and developers.
Features
- TensorFlow integration for scalability and GPU acceleration
- Multiple SPN architectures and structure learning algorithms
- Efficient inference and learning procedures
- Comprehensive documentation and examples
Publication
A. Pronobis, A. Ranganath, and R.P. Rao, "LibSPN: A Library for Learning and Inference with Sum-Product Networks and TensorFlow", in Workshop on Principled Approaches to Deep Learning, ICML 2017, Sydney, Australia, Aug 2017.
Download PDF