code: def __init__(self, in_channels):
      super().__init__()
  
      self.conv1 = GINConv(
          Seq(Lin(in_channels, 64), ReLU(), Lin(64, 64))
      )
      self.pool1 = SAGPooling(64, min_score=0.001, GNN=GCNConv)
      self.conv2 = GINConv(Seq(Lin(64, 64), ReLU(), Lin(64, 64)))
      self.pool2 = SAGPooling(64, min_score=0.001, GNN=GCNConv)
      self.conv3 = GINConv(Seq(Lin(64, 64), ReLU(), Lin(64, 64)))
  
      self.lin = torch.nn.Linear(64, 1)
  
file_path: pytorch_geometric/examples/triangles_sag_pool.py
imports: import copy
  import os.path
  import torch
  import torch.nn.functional
  from torch.nn import Linear
  from torch.nn import ReLU
  from torch.nn import Sequential
  import torch_geometric.transforms
  from torch_geometric.datasets import TUDataset
  from torch_geometric.loader import DataLoader
  from torch_geometric.nn import GCNConv, GINConv, SAGPooling, global_max_pool
  from torch_geometric.utils import scatter
label_desc: Use image node_id 1 to create a new Net object from inherited base classes: torch.nn with example: obj = Net(in_channels)