(self, x, y, is_training)
return out, out_logit, net
Apply the discriminator on a input.

    Args:
      x: `Tensor` of shape [batch_size, ?, ?, ?] with real or fake images.
      y: `Tensor` of shape [batch_size, num_classes] with one hot encoded
        labels.
      is_training: Boolean, whether the architecture should be constructed for
        training or inference.

    Returns:
      Tuple of 3 Tensors, the final prediction of the discriminator, the logits
      before the final output activation function and logits form the second
      last layer.
Apply the discriminator on a input.
Apply the discriminator on a input .
def apply(self, x, y, is_training):
    """Apply the discriminator on a input.

    Args:
      x: `Tensor` of shape [batch_size, ?, ?, ?] with real or fake images.
      y: `Tensor` of shape [batch_size, num_classes] with one hot encoded
        labels.
      is_training: Boolean, whether the architecture should be constructed for
        training or inference.

    Returns:
      Tuple of 3 Tensors, the final prediction of the discriminator, the logits
      before the final output activation function and logits form the second
      last layer.
    """
    use_sn = self._spectral_norm
    batch_size = x.shape.as_list()[0]
    # Resulting shape: [bs, h/2, w/2, 64].
    net = lrelu(conv2d(x, 64, 4, 4, 2, 2, name="d_conv1", use_sn=use_sn))
    # Resulting shape: [bs, h/4, w/4, 128].
    net = conv2d(net, 128, 4, 4, 2, 2, name="d_conv2", use_sn=use_sn)
    net = self.batch_norm(net, y=y, is_training=is_training, name="d_bn2")
    net = lrelu(net)
    # Resulting shape: [bs, h * w * 8].
    net = tf.reshape(net, [batch_size, -1])
    # Resulting shape: [bs, 1024].
    net = linear(net, 1024, scope="d_fc3", use_sn=use_sn)
    net = self.batch_norm(net, y=y, is_training=is_training, name="d_bn3")
    net = lrelu(net)
    # Resulting shape: [bs, 1].
    out_logit = linear(net, 1, scope="d_fc4", use_sn=use_sn)
    out = tf.nn.sigmoid(out_logit)
    return out, out_logit, net
def apply ( self , x , y , is_training ) : use_sn = self . _spectral_norm batch_size = x . shape . as_list ( ) [ 0 ] # Resulting shape: [bs, h/2, w/2, 64]. net = lrelu ( conv2d ( x , 64 , 4 , 4 , 2 , 2 , name = "d_conv1" , use_sn = use_sn ) ) # Resulting shape: [bs, h/4, w/4, 128]. net = conv2d ( net , 128 , 4 , 4 , 2 , 2 , name = "d_conv2" , use_sn = use_sn ) net = self . batch_norm ( net , y = y , is_training = is_training , name = "d_bn2" ) net = lrelu ( net ) # Resulting shape: [bs, h * w * 8]. net = tf . reshape ( net , [ batch_size , - 1 ] ) # Resulting shape: [bs, 1024]. net = linear ( net , 1024 , scope = "d_fc3" , use_sn = use_sn ) net = self . batch_norm ( net , y = y , is_training = is_training , name = "d_bn3" ) net = lrelu ( net ) # Resulting shape: [bs, 1]. out_logit = linear ( net , 1 , scope = "d_fc4" , use_sn = use_sn ) out = tf . nn . sigmoid ( out_logit ) return out , out_logit , net