Types
The following code snippet provides an easy way to print the type tree of probabilistic circuits.
using InteractiveUtils;
using ProbabilisticCircuits;
using AbstractTrees;
AbstractTrees.children(x::Type) = subtypes(x);
For example, we can see ProbabilisticCircuits.ProbCircuit
's type tree.
AbstractTrees.print_tree(ProbCircuit)
ProbCircuit └─ PlainProbCircuit ├─ PlainInnerNode │ ├─ PlainMulNode │ └─ PlainSumNode └─ PlainInputNode
AbstractTrees.print_tree(InputDist)
InputDist ├─ Binomial ├─ Categorical ├─ Indicator ├─ BitsBinomial └─ BitsCategorical