W3cubDocs

/TensorFlow Python

tf.contrib.gan.losses.wargs.modified_generator_loss

tf.contrib.gan.losses.wargs.modified_generator_loss(
    discriminator_gen_outputs,
    label_smoothing=0.0,
    weights=1.0,
    scope=None,
    loss_collection=tf.GraphKeys.LOSSES,
    reduction=losses.Reduction.SUM_BY_NONZERO_WEIGHTS,
    add_summaries=False
)

Defined in tensorflow/contrib/gan/python/losses/python/losses_impl.py.

Modified generator loss for GANs.

L = -log(sigmoid(D(G(z))))

This is the trick used in the original paper to avoid vanishing gradients early in training. See Generative Adversarial Nets (https://arxiv.org/abs/1406.2661) for more details.

Args:

  • discriminator_gen_outputs: Discriminator output on generated data. Expected to be in the range of (-inf, inf).
  • label_smoothing: The amount of smoothing for positive labels. This technique is taken from Improved Techniques for Training GANs (https://arxiv.org/abs/1606.03498). 0.0 means no smoothing.
  • weights: Optional Tensor whose rank is either 0, or the same rank as discriminator_gen_outputs, and must be broadcastable to labels (i.e., all dimensions must be either 1, or the same as the corresponding dimension).
  • scope: The scope for the operations performed in computing the loss.
  • loss_collection: collection to which this loss will be added.
  • reduction: A tf.losses.Reduction to apply to loss.
  • add_summaries: Whether or not to add summaries for the loss.

Returns:

A loss Tensor. The shape depends on reduction.

© 2018 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/contrib/gan/losses/wargs/modified_generator_loss