code: def build_conv_model(self, model_type):
      if model_type == "GCN":
          return pyg_nn.GCNConv
      elif model_type == "GIN":
          return lambda i, h: GINConv(
              nn.Sequential(nn.Linear(i, h), nn.ReLU(), nn.Linear(h, h))
          )
      elif model_type == "SAGE":
          return SAGEConv
      elif model_type == "graph":
          return pyg_nn.GraphConv
      elif model_type == "GAT":
          return pyg_nn.GATConv
      else:
          print("unrecognized model type")
  
imports: from functools import reduce
  import random
  import networkx
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  import torch_geometric.nn
  import torch_geometric.utils
  import utils
label_desc: Use image node_id 2 for calling the GNNStack obj's underlying member method code with example usage: obj.build_conv_model(model_type) and returns: pyg_nn, function, SAGEConv, pyg_nn, pyg_nn