'return a (b, 1) logits'

@auto_reuse_variable_scope
def discriminator(self, inputs, outputs):

    l = tf.concat([inputs, outputs], 3)
    with argscope(Conv2D, kernel_shape=4, stride=2, nl=BNLReLU):
        l = LinearWrap(l).Conv2D('conv0', NF, nl=LeakyReLU).Conv2D('conv1', (NF * 2)).Conv2D('conv2', (NF * 4)).Conv2D('conv3', (NF * 8), stride=1, padding='VALID').Conv2D('convlast', 1, stride=1, padding='VALID', nl=tf.identity)()
    return l
