code: def forward(self, data):
      print(
          f"Inside model - num graphs: {data.num_graphs}, "
          f"device: {data.batch.device}"
      )
  
      x, edge_index, edge_attr = data.x, data.edge_index, data.edge_attr
      x = F.elu(self.conv1(x, edge_index, edge_attr))
      x = F.elu(self.conv2(x, edge_index, edge_attr))
      x = global_mean_pool(x, data.batch)
      x = F.elu(self.lin1(x))
      return F.log_softmax(self.lin2(x), dim=1)
  
file_path: pytorch_geometric/examples/multi_gpu/data_parallel.py
imports: import os.path
  import torch
  import torch.nn.functional
  from torch.nn import Linear, ReLU, Sequential
  import torch_geometric.transforms
  from torch_geometric.datasets import MNISTSuperpixels
  from torch_geometric.loader import DataListLoader
  from torch_geometric.nn import DataParallel, NNConv, SplineConv, global_mean_pool
  from torch_geometric.typing import WITH_TORCH_SPLINE_CONV
label_desc: Use image node_id 2 for calling the Net obj's underlying member method code with example usage: obj.forward(data) and returns: F