def GANLoss(logits, is_real=True, smoothing=0.9, name=None):
"""Computes standard GAN loss between `logits` and `labels`.
Args:
logits: logits
is_real: boolean, True means `1` labeling, False means `0` labeling
smoothing: one side label smoothing
Returns:
A scalar Tensor representing the loss value.
"""
if is_real:
# one side label smoothing
labels = tf.fill(logits.get_shape(), smoothing)
else:
labels = tf.zeros_like(logits)
with ops.name_scope(name, 'GAN_loss', [logits, labels]) as name:
loss = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
labels=labels,
logits=logits))
return loss
评论列表
文章目录