class_docstr: Implementation of R-GCN model.
      
code: def __init__(
      self,
      num_nodes,
      input_size,
      hidden_size,
      num_class,
      num_layers,
      etypes,
      num_bases,
  ):
      super(RGCN, self).__init__()
  
      self.num_nodes = num_nodes
      self.input_size = input_size
      self.hidden_size = hidden_size
      self.num_class = num_class
      self.num_layers = num_layers
      self.etypes = etypes
      self.num_bases = num_bases
  
      self.nfeat = self.create_parameter(
          [self.num_nodes, self.input_size]
      )
  
      self.rgcns = nn.LayerList()
      out_dim = self.hidden_size
      for i in range(self.num_layers):
          in_dim = self.input_size if i == 0 else self.hidden_size
          self.rgcns.append(
              pgl.nn.RGCNConv(
                  in_dim,
                  out_dim,
                  self.etypes,
                  self.num_bases,
              )
          )
  
      self.linear = nn.Linear(self.hidden_size, self.num_class)
  
imports: import pgl
  import paddle
  import paddle.nn
label_desc: Use image node_id 1 to create a new RGCN object from inherited base classes: nn with example: obj = RGCN(num_nodes, input_size, hidden_size, num_class, num_layers, etypes, num_bases)