code: def __init__(self, data: Data, **kwargs):
      kwargs.pop("collate_fn", None)
      batch_size = kwargs.get("batch_size", 1)
  
      output_nodes = self.get_output_nodes(self)
  
      if batch_size == 1:  # Pre-process subgraphs:
          data_list = ...
          super().__init__(
              data_list, collate_fn=self._cache_fn, **kwargs
          )
      else:
          self.data = data
          super().__init__(
              output_nodes, collate_fn=self._collate_fn, **kwargs
          )
  
imports: import logging
  import math
  from typing import Callable, Iterator, List, NamedTuple, Optional, Tuple, Union
  import numpy
  import scipy.sparse
  import torch
  from torch import Tensor
  from tqdm import tqdm
  from torch_geometric.data import Data
  from torch_geometric.typing import SparseTensor
  from torch_geometric.utils import get_ppr, is_undirected, subgraph
label_desc: Use image node_id 1 to create a new _IBMBBaseLoader object from inherited base classes: torch.utils.data with example: obj = _IBMBBaseLoader(data)