class_docstr: A graph consists of connected Blocks, or Heads.
  
  # Arguments
      inputs: A list of input node(s) for the Graph.
      outputs: A list of output node(s) for the Graph.
code: def get_config(self):
      blocks = [blocks_module.serialize(block) for block in self.blocks]
      nodes = {
          str(self._node_to_id[node]): nodes_module.serialize(node)
          for node in self.inputs
      }
      block_inputs = {
          str(block_id): [
              self._node_to_id[node] for node in block.inputs
          ]
          for block_id, block in enumerate(self.blocks)
      }
      block_outputs = {
          str(block_id): [
              self._node_to_id[node] for node in block.outputs
          ]
          for block_id, block in enumerate(self.blocks)
      }
  
      outputs = [self._node_to_id[node] for node in self.outputs]
  
      return {
          "blocks": blocks,  # Dict {id: serialized}.
          "nodes": nodes,  # Dict {id: serialized}.
          "outputs": outputs,  # List of node_ids.
          "block_inputs": block_inputs,  # Dict {id: List of node_ids}.
          "block_outputs": block_outputs,  # Dict {id: List of node_ids}.
      }
  
imports: import keras_tuner
  from tensorflow import keras
  from tensorflow import nest
  from autokeras import blocks
  from autokeras import keras_layers
  from autokeras import nodes
  from autokeras.engine import head
  from autokeras.engine import serializable
  from autokeras.utils import io_utils
label_desc: Use image node_id 7 for calling the Graph obj's underlying member method code with example usage: obj.get_config() and returns: dict