code: def __init__(
      self,
      e_in_dim,
      u_in_dim,
      v_in_dim,
      e_hid_dim,
      u_hid_dim,
      v_hid_dim,
      out_dim,
      num_layers=2,
      dropout=0.0,
      activation=None,
  ):
      super(GAS, self).__init__()
      self.e_in_dim = e_in_dim
      self.u_in_dim = u_in_dim
      self.v_in_dim = v_in_dim
      self.e_hid_dim = e_hid_dim
      self.u_hid_dim = u_hid_dim
      self.v_hid_dim = v_hid_dim
      self.out_dim = out_dim
      self.num_layer = num_layers
      self.dropout = dropout
      self.activation = activation
      self.predictor = MLP(e_hid_dim + u_hid_dim + v_hid_dim, out_dim)
      self.layers = nn.ModuleList()
  
      # Input layer
      self.layers.append(
          GASConv(
              self.e_in_dim,
              self.u_in_dim,
              self.v_in_dim,
              self.e_hid_dim,
              self.u_hid_dim,
              self.v_hid_dim,
              activation=self.activation,
              dropout=self.dropout,
          )
      )
  
      # Hidden layers with n - 1 CompGraphConv layers
      for i in range(self.num_layer - 1):
          self.layers.append(
              GASConv(
                  self.e_hid_dim,
                  self.u_hid_dim,
                  self.v_hid_dim,
                  self.e_hid_dim,
                  self.u_hid_dim,
                  self.v_hid_dim,
                  activation=self.activation,
                  dropout=self.dropout,
              )
          )
  
file_path: dgl/examples/pytorch/gas/model.py
imports: import dgl.function
  import torch
  import torch.nn
  from dgl.nn.functional import edge_softmax
label_desc: Use image node_id 1 to create a new GAS object from inherited base classes: nn with example: obj = GAS(e_in_dim, u_in_dim, v_in_dim, e_hid_dim, u_hid_dim, v_hid_dim, out_dim, num_layers, dropout, activation)