def likelihood(self, z, reuse=False):
"""Build likelihood p(x | z_0). """
cfg = self.config
n_samples = z.get_shape().as_list()[0]
with util.get_or_create_scope('model', reuse=reuse):
n_out = int(np.prod(cfg['train_data/shape']))
net = z
with slim.arg_scope(
[slim.fully_connected],
activation_fn=util.get_activation(cfg['p_net/activation']),
outputs_collections=[tf.GraphKeys.ACTIVATIONS],
variables_collections=['model'],
weights_initializer=layers.variance_scaling_initializer(
factor=np.square(cfg['p_net/init_w_stddev']))):
for i in range(cfg['p_net/n_layers']):
net = slim.fully_connected(
net, cfg['p_net/hidden_size'], scope='fc%d' % i)
logits = slim.fully_connected(
net, n_out, activation_fn=None, scope='fc_lik')
logits = tf.reshape(
logits, [n_samples, cfg['batch_size']] + cfg['train_data/shape'])
return dist.Bernoulli(logits=logits, validate_args=False)
deep_latent_gaussian_model.py 文件源码
python
阅读 16
收藏 0
点赞 0
评论 0
评论列表
文章目录