code: def propagation(
      self, x: Tensor, edge_index: Adj, edge_weight: OptTensor = None
  ):
      x = self.propagate(
          edge_index, x=x, edge_weight=edge_weight, size=None
      )
      return x
  
imports: from typing import Optional
  from torch_geometric.typing import Adj, OptTensor
  import torch.nn.functional
  from torch.nn import ModuleList, Linear, BatchNorm1d
  from torch_geometric.nn import GCN2Conv
  import torch
  from torch import Tensor
  from torch_sparse import SparseTensor
  from ..models import ScalableGNN
label_desc: Use image node_id 2 for calling the GCN2Conv obj's underlying member method code with example usage: obj.propagation(x, edge_index, edge_weight) and returns: x