code: def __init__(
      self,
      num_nodes,
      h_dim,
      out_dim,
      num_rels,
      regularizer="basis",
      num_bases=-1,
      dropout=0.0,
      self_loop=False,
      ns_mode=False,
  ):
      super(RGCN, self).__init__()
  
      if num_bases == -1:
          num_bases = num_rels
      self.emb = nn.Embedding(num_nodes, h_dim)
      self.conv1 = RelGraphConv(
          h_dim,
          h_dim,
          num_rels,
          regularizer,
          num_bases,
          self_loop=self_loop,
      )
      self.conv2 = RelGraphConv(
          h_dim,
          out_dim,
          num_rels,
          regularizer,
          num_bases,
          self_loop=self_loop,
      )
      self.dropout = nn.Dropout(dropout)
      self.ns_mode = ns_mode
  
file_path: dgl/benchmarks/benchmarks/rgcn.py
imports: import dgl
  import torch
  import torch.nn
  import torch.nn.functional
  from dgl.nn.pytorch import RelGraphConv
  from .None import utils
label_desc: Use image node_id 1 to create a new RGCN object from inherited base classes: nn with example: obj = RGCN(num_nodes, h_dim, out_dim, num_rels, regularizer, num_bases, dropout, _loop, ns_mode)