class_docstr: One layer of CompGCN.
class_docstr_tok: ["One","layer","of","CompGCN","."]
code: def __init__(
      self, in_dim, out_dim, comp_fn="sub", batchnorm=True, dropout=0.1
  ):
      super(CompGraphConv, self).__init__()
      self.in_dim = in_dim
      self.out_dim = out_dim
      self.comp_fn = comp_fn
      self.actvation = th.tanh
      self.batchnorm = batchnorm
  
      # define dropout layer
      self.dropout = nn.Dropout(dropout)
  
      # define batch norm layer
      if self.batchnorm:
          self.bn = nn.BatchNorm1d(out_dim)
  
      # define in/out/loop transform layer
      self.W_O = nn.Linear(self.in_dim, self.out_dim)
      self.W_I = nn.Linear(self.in_dim, self.out_dim)
      self.W_S = nn.Linear(self.in_dim, self.out_dim)
  
      # define relation transform layer
      self.W_R = nn.Linear(self.in_dim, self.out_dim)
  
      # self loop embedding
      self.loop_rel = nn.Parameter(th.Tensor(1, self.in_dim))
      nn.init.xavier_normal_(self.loop_rel)
  
file_path: dgl/examples/pytorch/compGCN/models.py
imports: import dgl
  import dgl.function
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.optim
  from utils import ccorr
label_desc: Use image node_id 1 to create a new CompGraphConv object from inherited base classes: nn with example: obj = CompGraphConv(in_dim, out_dim, comp_fn, batchnorm, dropout)