def gaussian_logp(x, mu, ln_var):
"""log N(x ; mu, var)"""
batch_size = mu.data.shape[0]
D = x.data.size
S = F.exp(ln_var)
xc = x - mu
logp_sum = -0.5*(F.sum((xc*xc) / S, axis=1) + F.sum(ln_var, axis=1)
+ D/batch_size*math.log(2.0*math.pi))
return logp_sum / batchsize
评论列表
文章目录