-
Building custom networks
- Building SPNs from single operations or blocks (layers)of operations
- Support for categorical variables and continuous variables
- Realizing joint and conditional distributions
- Realizing MPNs and SPNs
- Adding explicit latent variables
- Building convolutional SPNs with a layer-oriented interface
-
Automatic SPN validity checking and scope calculation
-
SPN structure generation
- Generating dense random SPNs of varying complexity
-
Inference
- Marginal and MPE inference
- Inferring values of explicit latent variables (often used for classification)
- Sampling
-
Learning
- Batch and online learning
- Hard Expectation-Maximization learning
- Gradient descent learning using TensorFlow optimization
-
Saving and loading of trained SPNs
-
SPN network visualization