def log_qz_xy(self, z, mean, ln_var, test=False):
if self.type_qz == "gaussianmarg":
# \int q(z)logq(z)dz = -(J/2)*log2pi - (1/2)*sum_{j=1}^{J} (1 + logvar)
# See Appendix B [Auto-Encoding Variational Bayes](http://arxiv.org/abs/1312.6114)
log_qz_xy = -0.5 * F.sum((math.log(2.0 * math.pi) + 1 + ln_var), axis=1)
elif self.type_qz == "gaussian":
log_qz_xy = -self.gaussian_nll_keepbatch(z, mean, ln_var)
return log_qz_xy
评论列表
文章目录