-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Description
感觉作者训练有造假的嫌疑,首先
ops = [glow_ops.get_variable_ddi, glow_ops.actnorm, glow_ops.get_dropout]
encoder = glow_ops.encoder_decoder
self.z, encoder_objective, self.eps, _, _ = encoder(
"flow", x, self.hparams, eps=None, reverse=False,init=init)
objective += encoder_objective
这时的objective 损失为正,原因是其实就是在变换过程中antocrm的参数以及分割向量后经过正态分布密度函数后的log_prob的概率负数,但是作者确实使用+=,有待商榷,参数总和可能为正也可能为负,但是log_prob一定为负,由于概率再0-1之间,
self.z_top_shape =self.z.shape
prior_dist = self.top_prior()
prior_objective =paddle.sum(
prior_dist.log_prob(self.z), axis=[1, 2, 3])
#self.z_sample = prior_dist.sample()
objective += prior_objective
所以这个为负数就一点也不奇怪,所以作者的试验效果好,确实需要验证,我正在验证中
求作者出来解释一下
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels