code: def __init__(
      self,
      num_nodes,
      num_layers,
      hidden_dim,
      pool_size=None,
      buffer_size=None,
  ):
      super().__init__()
  
      self.num_nodes = num_nodes
      self.num_layers = num_layers
      self.hidden_dim = hidden_dim
      self.pool_size = (
          num_layers - 1 if pool_size is None else pool_size
      )
      self.buffer_size = buffer_size
      self.pool = None
      self._async = False
      self._fout = None
  
      self.histories = paddle.nn.LayerList(
          [
              History(num_nodes, hidden_dim)
              for _ in range(num_layers - 1)
          ]
      )
  
      self._init_pool()
  
file_path: PGL/apps/GNNAutoScale/gnn_models/base_model.py
imports: import os
  import sys
  import numpy
  import paddle
  from pgl.utils.stream_pool import StreamPool, async_write
  from history import History
  from utils import process_batch_data, check_device
label_desc: Use image node_id 1 to create a new ScalableGNN object from inherited base classes: paddle.nn with example: obj = ScalableGNN(num_nodes, num_layers, hidden_dim, pool_size, buffer_size)