cbp.node¶
cbp.node.base_node¶
-
class
cbp.node.base_node.BaseNode(node_coef, potential)[source]¶ Bases:
abc.ABCAll kinds node must inherit :class ~cbp.node.BaseNode
-
abstract
cal_bethe(margin) → float[source]¶ calculate the bethe energy
- Returns
bethe energy on this node
- Return type
-
abstract
make_message(recipient_node) → numpy.ndarray[source]¶ produce the val of message from current node to the recipient_node
- Parameters
recipient_node ([type]) – target node
- Returns
content of the message
- Return type
np.ndarray
-
property
potential¶
-
abstract
cbp.node.factor_node¶
-
class
cbp.node.factor_node.FactorNode(connections, potential, coef=1)[source]¶ Bases:
cbp.node.base_node.BaseNodeFactor Node in factor graph
- Add new attr:
isconstrainedFixed marginal or nothat_c_ialphaSee Norm-Product paperlast_innerparenthese_msgSee Norm-Product paper
-
get_varnode_extra_term(node_name)[source]¶ Norm-Product Belief Propagation, n_{i -> alpha} second term This term is always 1 in stardard bp
cbp.node.var_node¶
-
class
cbp.node.var_node.VarNode(rv_dim, potential=None, constrained_marginal=None, node_coef=1)[source]¶ Bases:
cbp.node.base_node.BaseNodeVariable Node in Factor graph
Add new attr: *
isconstrainedFixed marginal or not *hat_c_iSee Norm-Product paper