code: def __init__(self, lr_channels=3):
      super(Discriminator, self).__init__()
  
      def convblock(
          n_input, n_output, k_size=3, stride=1, padding=1, bn=True
      ):
          block = [
              nn.Conv2d(
                  n_input,
                  n_output,
                  kernel_size=k_size,
                  stride=stride,
                  padding=padding,
                  bias=False,
              )
          ]
          if bn:
              block.append(nn.BatchNorm2d(n_output))
          block.append(nn.LeakyReLU(0.2, inplace=True))
          return block
  
      self.conv = nn.Sequential(
          *convblock(lr_channels, 64, 3, 1, 1, bn=False),
          *convblock(64, 64, 3, 2, 1),
          *convblock(64, 128, 3, 1, 1),
          *convblock(128, 128, 3, 2, 1),
          *convblock(128, 256, 3, 1, 1),
          *convblock(256, 256, 3, 2, 1),
          *convblock(256, 512, 3, 1, 1),
          *convblock(512, 512, 3, 2, 1),
      )
  
      self.fc = nn.Sequential(
          nn.Linear(512 * 16 * 16, 1024),
          nn.LeakyReLU(0.2, inplace=True),
          nn.Linear(1024, 1),
          nn.Sigmoid(),
      )
  
imports: import torch
  from torch import nn
  from torchvision.models import vgg19
  from torch.autograd import Variable
label_desc: Use image node_id 1 to create a new Discriminator object from inherited base classes: nn with example: obj = Discriminator(lr_channels)