本文整理汇总了Python中utils.log_sum_exp方法的典型用法代码示例。如果您正苦于以下问题:Python utils.log_sum_exp方法的具体用法?Python utils.log_sum_exp怎么用?Python utils.log_sum_exp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类utils
的用法示例。
在下文中一共展示了utils.log_sum_exp方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
# 需要导入模块: import utils [as 别名]
# 或者: from utils import log_sum_exp [as 别名]
def __call__(self, elbo):
elbo = elbo.view(self.mc, self.iw, -1)
elbo = torch.mean(log_sum_exp(elbo, dim=1, sum_op=torch.mean), dim=0)
return elbo.view(-1)
示例2: forward
# 需要导入模块: import utils [as 别名]
# 或者: from utils import log_sum_exp [as 别名]
def forward(self, x, logdet, dsparams, mollify=0.0, delta=nn_.delta):
ndim = self.num_ds_dim
a_ = self.act_a(dsparams[:,:,0*ndim:1*ndim])
b_ = self.act_b(dsparams[:,:,1*ndim:2*ndim])
w = self.act_w(dsparams[:,:,2*ndim:3*ndim])
a = a_ * (1-mollify) + 1.0 * mollify
b = b_ * (1-mollify) + 0.0 * mollify
pre_sigm = a * x[:,:,None] + b
sigm = torch.sigmoid(pre_sigm)
x_pre = torch.sum(w*sigm, dim=2)
x_pre_clipped = x_pre * (1-delta) + delta * 0.5
x_ = log(x_pre_clipped) - log(1-x_pre_clipped)
xnew = x_
logj = F.log_softmax(dsparams[:,:,2*ndim:3*ndim], dim=2) + \
nn_.logsigmoid(pre_sigm) + \
nn_.logsigmoid(-pre_sigm) + log(a)
logj = utils.log_sum_exp(logj,2).sum(2)
logdet_ = logj + np.log(1-delta) - \
(log(x_pre_clipped) + log(-x_pre_clipped+1))
logdet = logdet_.sum(1) + logdet
return xnew, logdet