def compute_phi_cavity(self):
phi_cavity = 0
for i in range(self.no_layers):
Dout_i = self.layer_sizes[i+1]
for d in range(Dout_i):
muhatd_val = self.muhat[i][d]
Suhatd_val = self.Suhat[i][d]
(sign, logdet) = np.linalg.slogdet(Suhatd_val)
phi_cavity += 0.5 * logdet
phi_cavity += 0.5 * np.sum(muhatd_val * spalg.solve(Suhatd_val, muhatd_val.T))
return phi_cavity
评论列表
文章目录