code: def node_embed(self, data1, data2):
      x1, edge_index1, batch1 = data1.x, data1.edge_index, data1.batch
      x2, edge_index2, batch2 = data2.x, data2.edge_index, data2.batch
  
      x1, x2 = self.embedding(x1), self.embedding(x2)
      for conv in self.convs:
          x1, x2 = conv(
              x1, edge_index1, batch1, x2, edge_index2, batch2
          )
  
      return x1, x2
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from torch_scatter import scatter
  from torch_geometric.nn import global_add_pool, global_mean_pool, global_max_pool, GINConv
label_desc: Use image node_id 3 for calling the GMNet obj's underlying member method code with example usage: obj.node_embed(data1, data2) and returns: x1,  x2