class_docstr: pytorch nn.Module implementation for gan.network.Discriminator
  
  `input_size` is an extra param that need to be set during the init
  due to the different stype between tf and torch
  `input_size` should be the sum of input_feature and input_attribute
  flattened length
code: def forward(self, input_feature, input_attribute):
      # input_feature.shape = (batch_size, max_time_stamp, feature_dim) ?
      # input_attribute.shape = (batch_size, all_attribute_out_dim) (flattened)
      # output feature: (batch_size, 1)
      input_feature = flatten(input_feature)
      input_attribute = flatten(input_attribute)
      x = torch.cat([input_feature, input_attribute], dim=1)
      x = self.mlp(x)
      x = torch.squeeze(x, 1)
      return x
  
imports: import torch
  from torch import nn
  import torch.nn.functional
  import numpy
  from enum import Enum
  from .op import linear, flatten
  from .output import OutputType, Normalization
label_desc: Use image node_id 2 for calling the Discriminator obj's underlying member method code with example usage: obj.forward(input_feature, input_attribute) and returns: x