def compute_phi_from_parents(u_parents): ## print('in Gaussian.compute_phi_from_parents') ## print(u_parents) ## print(np.shape(u_parents[1][0])) ## print(np.shape(u_parents[0][0])) return [utils.m_dot(u_parents[1][0], u_parents[0][0]), -0.5 * u_parents[1][0]]
def compute_phi_from_parents(u_parents): ## print('in Gaussian.compute_phi_from_parents') ## print(u_parents) ## print(np.shape(u_parents[1][0])) ## print(np.shape(u_parents[0][0])) return [ utils.m_dot(u_parents[1][0], u_parents[0][0]), -0.5 * u_parents[1][0] ]
def compute_message(index, u, u_parents): """ . """ if index == 0: return [utils.m_dot(u_parents[1][0], u[0]), -0.5 * u_parents[1][0]] elif index == 1: xmu = utils.m_outer(u[0], u_parents[0][0]) return [-0.5 * (u[1] - xmu - xmu.swapaxes(-1,-2) + u_parents[0][1]), 0.5]
def compute_message(index, u, u_parents): """ . """ if index == 0: return [utils.m_dot(u_parents[1][0], u[0]), -0.5 * u_parents[1][0]] elif index == 1: xmu = utils.m_outer(u[0], u_parents[0][0]) return [ -0.5 * (u[1] - xmu - xmu.swapaxes(-1, -2) + u_parents[0][1]), 0.5 ]