code: def discriminator(self, img):
      with argscope(
          Conv2D, activation=BNLReLU, kernel_size=4, strides=2
      ):
          l = Conv2D("conv0", img, NF, activation=tf.nn.leaky_relu)
          relu1 = Conv2D("conv1", l, NF * 2)
          relu2 = Conv2D("conv2", relu1, NF * 4)
          relu3 = Conv2D("conv3", relu2, NF * 8)
          logits = FullyConnected(
              "fc", relu3, 1, activation=tf.identity
          )
      return logits, [relu1, relu2, relu3]
  
file_path: tensorpack/examples/GAN/DiscoGAN-CelebA.py
imports: import argparse
  import numpy
  import os
  import tensorflow
  from tensorpack import *
  from tensorpack.tfutils.scope_utils import auto_reuse_variable_scope
  from tensorpack.tfutils.summary import add_moving_summary
  from GAN import GANModelDesc, SeparateGANTrainer
label_desc: Use image node_id 3 for calling the Model obj's underlying member method code with example usage: obj.discriminator(img) and returns: logits,  list