class_docstr: Tuner which uses dynamic programming to solve MDP problem.
  
  Note: currently dynamic programming is used to solve this MDP problem. However,
  this problem is intrinsically non-polynomial. DP can't apply for more complicated
  models, such as networks with many element-wise sum operators. In this case, switch
  to heuristic algorithm such as PBQP tuner.
class_docstr_tok: ["Tuner","which","uses","dynamic","programming","to","solve","MDP","problem",".","Note",":","currently","dynamic","programming","is","used","to","solve","this","MDP","problem",".","However",",","this","problem","is","intrinsically","non-polynomial",".","DP","ca","n't","apply","for","more","complicated","models",",","such","as","networks","with","many","element-wise","sum","operators",".","In","this","case",",","switch","to","heuristic","algorithm","such","as","PBQP","tuner","."]
docstr: Create a dynamic programming tuner.
docstr_tok: ["Create","a","dynamic","programming","tuner","."]
code: def __init__(self, *args, **kwargs):
      """Create a dynamic programming tuner."""
      super(DPTuner, self).__init__(*args, **kwargs)
      self._num_states = self._max_num_states = None
      self._stage_dict = {}
      self._dep_dict = {}
      self._counted_nodes_set = set()
  
      self._global_data_dict = {
          "dtype": self._dtype,
          "counted_nodes_set": self._counted_nodes_set,
          "stage_dict": self._stage_dict,
          "in_nodes_dict": self._in_nodes_dict,
          "out_nodes_dict": self._out_nodes_dict,
          "dep_dict": self._dep_dict,
          "node_list": self._node_list,
          "input_shapes": self._input_shapes,
          "layout_transform_interlayer_cost": self._layout_transform_interlayer_cost,
      }
  
file_path: tvm/python/tvm/autotvm/graph_tuner/dynamic_programming_tuner.py
imports: import sys
  import numpy
  from ._base import MAX_OUTPUT_NODES
  from .base_graph_tuner import BaseGraphTuner
  from .dynamic_programming_stage import DPStage
  from .utils import has_multiple_inputs, is_boundary_node
label_desc: Use image node_id 1 to create a new DPTuner object from inherited base classes: BaseGraphTuner with example: obj = DPTuner()