code: def __init__(
      self, g, in_channels, out_channels, num_relations, num_bases
  ):
      super().__init__()
  
      self.g = g
      self.in_channels = in_channels
      self.out_channels = out_channels
      self.num_relations = num_relations
      self.num_bases = num_bases
  
      self.basis = Param(
          torch.empty(num_bases, in_channels, out_channels)
      )
      self.att = Param(torch.empty(num_relations, num_bases))
      self.root = Param(torch.empty(in_channels, out_channels))
      self.bias = Param(torch.empty(out_channels))
  
      self.reset_parameters()
  
imports: import dgl.function
  import torch
  import torch.nn.functional
  from torch.nn import Parameter
  from torch_geometric.nn.inits import uniform
label_desc: Use image node_id 1 to create a new RGCNConv object from inherited base classes: torch.nn with example: obj = RGCNConv(g, in_channels, out_channels, num_relations, num_bases)