def encode(self, sequence, sequence_length):
"""Encodes input sequences into a MultivariateNormalDiag distribution."""
hparams = self.hparams
z_size = hparams.z_size
sequence = tf.to_float(sequence)
encoder_output = self.encoder.encode(sequence, sequence_length)
mu = tf.layers.dense(
encoder_output,
z_size,
name='encoder/mu',
kernel_initializer=tf.random_normal_initializer(stddev=0.001))
sigma = tf.layers.dense(
encoder_output,
z_size,
activation=tf.nn.softplus,
name='encoder/sigma',
kernel_initializer=tf.random_normal_initializer(stddev=0.001))
return ds.MultivariateNormalDiag(loc=mu, scale_diag=sigma)
评论列表
文章目录