class_docstr: A subgraph of a TensorFlow computational graph.
  
  TensorFlow graphs are often too low-level to represent our conceptual
  understanding of a model
  
  OverlayGraph can be used to represent a simplified version of a TensorFlow
  graph. Each node corresponds to a node in the original TensorFlow graph, and
  edges correspond to paths through the original graph.
code: def _get_overlay_inputs(self, node):
      if self.prev_overlay:
          raw_inps = self.prev_overlay[node].inputs
      else:
          raw_inps = self.get_tf_node(node).op.inputs
  
      overlay_inps = []
      for inp in raw_inps:
          if inp.name.startswith("^"):  # skip control inputs
              continue
          if inp in self:
              overlay_inps.append(self[inp])
          elif node.name not in self.no_pass_through:
              overlay_inps.extend(self._get_overlay_inputs(inp))
      return overlay_inps
  
imports: from collections import defaultdict
  import numpy
  import tensorflow
label_desc: Use image node_id 5 for calling the OverlayGraph obj's underlying member method code with example usage: obj._get_overlay_inputs(node) and returns: overlay_inps