def compute_phi_posterior(self):
logZ_posterior = 0
for i in range(self.no_layers):
Dout_i = self.layer_sizes[i+1]
for d in range(Dout_i):
mud_val = self.mu[i][d]
Sud_val = self.Su[i][d]
(sign, logdet) = np.linalg.slogdet(Sud_val)
# print 'phi_poste: ', 0.5 * logdet, 0.5 * np.sum(mud_val * spalg.solve(Sud_val, mud_val.T))
logZ_posterior += 0.5 * logdet
logZ_posterior += 0.5 * np.sum(mud_val * spalg.solve(Sud_val, mud_val.T))
return logZ_posterior
评论列表
文章目录