code: def make_net(self, n, flt_in, flt_out=1, k=4, stride=2, bias=True):
      padding = 1
      model = nn.Sequential()
  
      model.add_module(
          "conv0",
          self.make_block(
              flt_in,
              self.num_filters,
              k,
              stride,
              padding,
              bias,
              None,
              relu,
          ),
      )
  
      flt_mult, flt_mult_prev = 1, 1
      # n - 1 blocks
      for l in range(1, n):
          flt_mult_prev = flt_mult
          flt_mult = min(2 ** (l), 8)
          model.add_module(
              "conv_%d" % (l),
              self.make_block(
                  self.num_filters * flt_mult_prev,
                  self.num_filters * flt_mult,
                  k,
                  stride,
                  padding,
                  bias,
                  self.norm_layer,
                  relu,
              ),
          )
  
      flt_mult_prev = flt_mult
      flt_mult = min(2**n, 8)
      model.add_module(
          "conv_%d" % (n),
          self.make_block(
              self.num_filters * flt_mult_prev,
              self.num_filters * flt_mult,
              k,
              1,
              padding,
              bias,
              self.norm_layer,
              relu,
          ),
      )
      model.add_module(
          "conv_out",
          self.make_block(
              self.num_filters * flt_mult,
              1,
              k,
              1,
              padding,
              bias,
              None,
              None,
          ),
      )
      return model
  
imports: import torch
  import torch.nn
  from torch.autograd import Variable
  from torch.nn import functional
  import torchvision
  from torchvision import models
  import pytorch_lightning
label_desc: Use image node_id 2 for calling the Discriminator obj's underlying member method code with example usage: obj.make_net(n, flt_in, flt_out, k, stride, bias) and returns: model