code: def forward(self, graph, diff_graph, feat, shuf_feat, edge_weight):
      h1 = self.encoder1(graph, feat)
      h2 = self.encoder2(diff_graph, feat, edge_weight=edge_weight)
  
      h3 = self.encoder1(graph, shuf_feat)
      h4 = self.encoder2(diff_graph, shuf_feat, edge_weight=edge_weight)
  
      c1 = self.act_fn(self.pooling(graph, h1))
      c2 = self.act_fn(self.pooling(graph, h2))
  
      out = self.disc(h1, h2, h3, h4, c1, c2)
  
      return out
  
file_path: dgl/examples/pytorch/mvgrl/node/model.py
imports: import torch
  import torch.nn
  from dgl.nn.pytorch import GraphConv
  from dgl.nn.pytorch.glob import AvgPooling
label_desc: Use image node_id 3 for calling the MVGRL obj's underlying member method code with example usage: obj.forward(graph, diff_graph, feat, shuf_feat, edge_weight) and returns: out