code: def __init__(
      self, data, exclude_mask, include_mask, subgraph_build_func
  ):
      self.num_nodes = data.num_nodes
      self.X = data.x
      self.edge_index = data.edge_index
      self.device = self.X.device
  
      self.label = data.y
      self.exclude_mask = (
          torch.tensor(exclude_mask).type(torch.float32).to(self.device)
      )
      self.include_mask = (
          torch.tensor(include_mask).type(torch.float32).to(self.device)
      )
      self.subgraph_build_func = subgraph_build_func
  
imports: import copy
  import torch
  import numpy
  from scipy.special import comb
  from itertools import combinations
  import torch.nn.functional
  from torch_geometric.utils import to_networkx
  from torch_geometric.data import Data, Batch, Dataset
  from torch_geometric.loader import DataLoader
label_desc: Use image node_id 1 to create a new MarginalSubgraphDataset object from inherited base classes: Dataset with example: obj = MarginalSubgraphDataset(data, exclude_mask, include_mask, subgraph_build_func)