class_docstr: Base class for index based tuner
  This type of tuner determine the next batch of configs based on config indices.
  
  Parameters
  ----------
  task: autotvm.task.Task
      The tuning task
  
  range_idx: Optional[Tuple[int, int]]
      A tuple of index range that this tuner can select from [begin_idx, end_idx]
class_docstr_tok: ["Base","class","for","index","based","tuner","This","type","of","tuner","determine","the","next","batch","of","configs","based","on","config","indices",".","Parameters","--","--","--","--","--","task",":","autotvm.task.Task","The","tuning","task","range_idx",":","Optional","[","Tuple","[","int",",","int","]","]","A","tuple","of","index","range","that","this","tuner","can","select","from","[","begin_idx",",","end_idx","]"]
code: def __init__(self, task, range_idx=None):
      super(IndexBaseTuner, self).__init__(task)
      assert range_idx is None or isinstance(
          range_idx, tuple
      ), "range_idx must be None or (int, int)"
  
      self.visited = []
      self.begin_idx, self.end_idx = range_idx or (
          0,
          self.space.range_length - 1,
      )
      assert self.begin_idx >= 0, "Start index must be positive"
      self.end_idx += 1  # Further end_idx is exclusive
      assert (
          self.end_idx <= self.space.range_length
      ), "Finish index must be less the space range length "
      self.range_length = self.end_idx - self.begin_idx
      assert self.range_length > 0, "Index range must be positive"
      self.visited_max = self.space.subrange_length(
          self.begin_idx, self.end_idx
      )
  
file_path: tvm/python/tvm/autotvm/tuner/index_based_tuner.py
imports: from .tuner import Tuner
label_desc: Use image node_id 1 to create a new IndexBaseTuner object from inherited base classes: Tuner with example: obj = IndexBaseTuner(task, range_idx)