code: def __init__(self):
      super().__init__()
  
      self.conv1 = HeteroConv(
          {
              ("paper", "to", "paper"): GCNConv(-1, 32),
              ("author", "to", "paper"): SAGEConv((-1, -1), 32),
              ("paper", "to", "author"): SAGEConv((-1, -1), 32),
          }
      )
  
      self.conv2 = HeteroConv(
          {
              ("paper", "to", "paper"): GCNConv(-1, 32),
              ("author", "to", "paper"): SAGEConv((-1, -1), 32),
              ("paper", "to", "author"): SAGEConv((-1, -1), 32),
          }
      )
  
file_path: pytorch_geometric/test/explain/algorithm/test_explain_algorithm_utils.py
imports: import torch
  from torch_geometric.explain.algorithm.utils import clear_masks, set_hetero_masks
  from torch_geometric.nn import GCNConv, HeteroConv, SAGEConv, to_hetero
label_desc: Use image node_id 1 to create a new HeteroModel object from inherited base classes: torch.nn with example: obj = HeteroModel()