Features

  • 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