class_docstr: Graph.
  
  Args:
      nodes(`Dict[str, NodeRepr]`): The pipeline nodes from DAGRepr.nodes.
      edges(`Dict[str, Any]`): The pipeline edges from DAGRepr.edges.
      operator_pool(`OperatorPool`): The operator pool.
      thread_pool(`OperatorPool`): The ThreadPoolExecutor.
class_docstr_tok: ["Graph",".","Args",":","nodes","(","`","Dict","[","str",",","NodeRepr","]","`",")",":","The","pipeline","nodes","from","DAGRepr.nodes",".","edges","(","`","Dict","[","str",",","Any","]","`",")",":","The","pipeline","edges","from","DAGRepr.edges",".","operator_pool","(","`","OperatorPool","`",")",":","The","operator","pool",".","thread_pool","(","`","OperatorPool","`",")",":","The","ThreadPoolExecutor","."]
code: def __init__(
      self,
      nodes: Dict[str, NodeRepr],
      edges: Dict[str, Any],
      operator_pool: "OperatorPool",
      thread_pool: "ThreadPoolExecutor",
      time_profiler: "TimeProfiler" = None,
      trace_edges: list = None,
  ):
      self._nodes = nodes
      self._edges = edges
      self._operator_pool = operator_pool
      self._thread_pool = thread_pool
      self._time_profiler = time_profiler
      self._trace_edges = trace_edges
      self._node_runners = None
      self._data_queues = None
      self.features = None
      self._time_profiler.record(Event.pipe_name, Event.pipe_in)
      self._initialize()
      self._input_queue = self._data_queues[0]
  
imports: import re
  from typing import Dict, Any, Union, Tuple, List
  from concurrent.futures import ThreadPoolExecutor
  from towhee.tools import visualizers
  from towhee.utils.log import engine_log
  from .operator_manager import OperatorPool
  from .data_queue import DataQueue
  from .dag_repr import DAGRepr
  from .nodes import create_node, NodeStatus
  from .node_repr import NodeRepr
  from .time_profiler import TimeProfiler, Event
label_desc: Use image node_id 1 to create a new _Graph object  with example: obj = _Graph(nodes, edges, operator_pool, thread_pool, time_profiler, trace_edges)