code: def __init__(
      self,
      input_dim,
      output_dim,
      hid_dim=64,
      num_layers=2,
      bias=True,
      scale_weight_norm=False,
      sigmoid_shift=2.0,
      apply_batch_norm=False,
  ):
      super(ST_Net_Sigmoid, self).__init__()
      self.num_layers = num_layers  # unused
      self.input_dim = input_dim
      self.hid_dim = hid_dim
      self.output_dim = output_dim
      self.bias = bias
      self.apply_batch_norm = apply_batch_norm
      self.scale_weight_norm = scale_weight_norm
      self.sigmoid_shift = sigmoid_shift
  
      self.linear1 = nn.Linear(input_dim, hid_dim, bias=bias)
      self.linear2 = nn.Linear(hid_dim, output_dim * 2, bias=bias)
  
      if self.apply_batch_norm:
          self.bn_before = nn.BatchNorm1d(input_dim)
      if self.scale_weight_norm:
          self.rescale1 = nn.utils.weight_norm(Rescale())
          self.rescale2 = nn.utils.weight_norm(Rescale())
  
      else:
          self.rescale1 = Rescale()
          self.rescale2 = Rescale()
  
      self.tanh = nn.Tanh()
      self.sigmoid = nn.Sigmoid()
      self.reset_parameters()
  
imports: import numpy
  import torch
  import torch.nn
label_desc: Use image node_id 1 to create a new ST_Net_Sigmoid object from inherited base classes: nn with example: obj = ST_Net_Sigmoid(input_dim, output_dim, hid_dim, num_layers, bias, scale_weight_norm, sigmoid_shift, apply_batch_norm)