def bottleneck_layer(targets_c, hparams): """Compute latents from compressed targets.""" latents_discrete_hot, extra_loss = discretization.parametrized_bottleneck( targets_c, hparams) latents_dense = discretization.parametrized_unbottleneck( latents_discrete_hot, hparams.hidden_size, hparams) latents_discrete = tf.argmax(latents_discrete_hot, axis=-1) if DO_SUMMARIES: tf.summary.histogram("b0", tf.reshape(latents_discrete, [-1])) return latents_dense, latents_discrete, extra_loss
def bottleneck_layer(targets_c, hparams): """Compute latents from compressed targets.""" latents_discrete_hot, extra_loss = discretization.parametrized_bottleneck( targets_c, hparams) latents_dense = discretization.parametrized_unbottleneck( latents_discrete_hot, hparams.hidden_size, hparams) latents_dense = targets_c + tf.stop_gradient(latents_dense - targets_c) latents_discrete = tf.argmax(latents_discrete_hot, axis=-1) if DO_SUMMARIES: tf.summary.histogram("b0", tf.reshape(latents_discrete, [-1])) return latents_dense, latents_discrete_hot, extra_loss
def unbottleneck(self, x, res_size, reuse=None): with tf.variable_scope("unbottleneck", reuse=reuse): return discretization.parametrized_unbottleneck(x, res_size, self.hparams)
def unbottleneck(self, x, res_size): return discretization.parametrized_unbottleneck(x, res_size, self.hparams)