Added product partition function, support more-than-two product (so that reparam structured in a binary tree)
Modified binary.py and functional.py to support more-than-two product
Modified categorical.py to support partition function of the product of categorical layers (so Log-Sum-Exp is used instead of Log-Integ-Exp for categorical layers, but the code structure is still the same)
TODO:
as a result of the design of symb_cfg, need to fetch num_input_units from the parameters in a clumsy way (in def get_integral() of prod_ef.py), should we re-structure symb_cfg to simplify this?
clean TODOs in def get_partial(), similar to the helper functions in def get_integral()
Could add tests for product partition function and more-than-two product, already tested locally
Added product partition function, support more-than-two product (so that reparam structured in a binary tree)
Modified
binary.py
andfunctional.py
to support more-than-two productModified
categorical.py
to support partition function of the product of categorical layers (so Log-Sum-Exp is used instead of Log-Integ-Exp for categorical layers, but the code structure is still the same)TODO: as a result of the design of
symb_cfg
, need to fetchnum_input_units
from the parameters in a clumsy way (indef get_integral()
ofprod_ef.py
), should we re-structuresymb_cfg
to simplify this?clean TODOs in
def get_partial()
, similar to the helper functions indef get_integral()
Could add tests for product partition function and more-than-two product, already tested locally