Exemple #1
0
  def __call__(self, inputs, *args, **kwargs):
    if not self.built:
      mean, variance = tf.nn.moments(
          inputs, axes=list(range(inputs.shape.ndims - 1)))
      self.bias_initial_value = -mean
      # TODO(trandustin): Optionally, actnorm multiplies log_scale by a fixed
      # log_scale factor (e.g., 3.) and initializes by
      # initial_value / log_scale_factor.
      self.log_scale_initial_value = tf.math.log(
          1. / (tf.sqrt(variance) + self.epsilon))

    if not isinstance(inputs, random_variable.RandomVariable):
      return super(ActNorm, self).__call__(inputs, *args, **kwargs)
    return transformed_random_variable.TransformedRandomVariable(inputs, self)
Exemple #2
0
 def __call__(self, inputs, *args, **kwargs):
     if not isinstance(inputs, random_variable.RandomVariable):
         return super(SinkhornAutoregressiveFlow,
                      self).__call__(inputs, *args, **kwargs)
     return transformed_random_variable.TransformedRandomVariable(
         inputs, self)
Exemple #3
0
 def __call__(self, inputs, *args, **kwargs):
     if not isinstance(inputs, random_variable.RandomVariable):
         return super(DiscreteBipartiteFlow,
                      self).__call__(inputs, *args, **kwargs)
     return transformed_random_variable.TransformedRandomVariable(
         inputs, self)