code: def __init__(self):
      super().__init__()
  
      num_nodes = ceil(0.25 * max_nodes)
      self.gnn1_pool = GNN(dataset.num_features, 64, num_nodes)
      self.gnn1_embed = GNN(dataset.num_features, 64, 64, lin=False)
  
      num_nodes = ceil(0.25 * num_nodes)
      self.gnn2_pool = GNN(3 * 64, 64, num_nodes)
      self.gnn2_embed = GNN(3 * 64, 64, 64, lin=False)
  
      self.gnn3_embed = GNN(3 * 64, 64, 64, lin=False)
  
      self.lin1 = torch.nn.Linear(3 * 64, 64)
      self.lin2 = torch.nn.Linear(64, dataset.num_classes)
  
file_path: pytorch_geometric/examples/proteins_diff_pool.py
imports: import os.path
  import time
  from math import ceil
  import torch
  import torch.nn.functional
  import torch_geometric.transforms
  from torch_geometric.datasets import TUDataset
  from torch_geometric.loader import DenseDataLoader
  from torch_geometric.nn import DenseSAGEConv, dense_diff_pool
label_desc: Use image node_id 1 to create a new Net object from inherited base classes: torch.nn with example: obj = Net()