code: def forward(self, x, adj_t, batch):
      adj_t = adj_t.set_value(
          None
      )  # EGConv works without any edge features
  
      x = self.encoder(x)
  
      for conv, norm in zip(self.convs, self.norms):
          h = conv(x, adj_t)
          h = norm(h)
          h = h.relu_()
          x = x + h
  
      x = global_mean_pool(x, batch)
  
      return self.mlp(x)
  
file_path: pytorch_geometric/examples/egc.py
imports: import argparse
  import os.path
  import torch
  import torch.nn.functional
  from ogb.graphproppred import Evaluator
  from ogb.graphproppred import PygGraphPropPredDataset
  from ogb.graphproppred.mol_encoder import AtomEncoder
  from torch.nn import BatchNorm1d, Linear, ReLU, Sequential
  from torch.optim.lr_scheduler import ReduceLROnPlateau
  import torch_geometric.transforms
  from torch_geometric.loader import DataLoader
  from torch_geometric.nn import EGConv, global_mean_pool
  from torch_geometric.typing import WITH_TORCH_SPARSE
label_desc: Use image node_id 2 for calling the Net obj's underlying member method code with example usage: obj.forward(x, adj_t, batch) and returns: self