class_docstr: Tuner with droplet algorithm.
  
  Parameters
  ----------
  start_position: list of int
      position initial of the space, the default is [0, 0, ..., 0]
  pvalue: float
      statistical value to confidence level, the default is 0.05
class_docstr_tok: ["Tuner","with","droplet","algorithm",".","Parameters","--","--","--","--","--","start_position",":","list","of","int","position","initial","of","the","space",",","the","default","is","[","0",",","0",",","...",",","0","]","pvalue",":","float","statistical","value","to","confidence","level",",","the","default","is","0.05"]
code: def update(self, inputs, results):
      found_best_pos, count_valids = False, 0
      for i, (_, res) in enumerate(zip(inputs, results)):
          try:
              if np.mean(self.best_choice[2]) > np.mean(
                  res.costs
              ) and self.p_value(self.best_choice[2], res.costs):
                  self.best_choice = (
                      self.next[i][0],
                      self.next[i][1],
                      res.costs,
                  )
                  found_best_pos = True
              count_valids += 1
          except TypeError:
              LOGGER.debug("Solution is not valid")
              continue
          else:
              continue
  
      self.next = self.next[self.batch : -1]
      if found_best_pos:
          self.next += self.next_pos(self.search_space())
          self.execution = 1
      self.speculation()
      # stop, because all neighborhoods are invalid.
      if count_valids == 0 and self.iter > 3:
          self.next = []
          LOGGER.warning(
              f"Warning: early termination due to an all-invalid neighborhood \
                  after {self.iter} iterations"
          )
  
file_path: tvm/python/tvm/autotvm/tuner/droplet_tuner.py
imports: import logging
  import os
  import numpy
  from scipy import stats
  from .tuner import Tuner
label_desc: Use image node_id 8 for calling the DropletTuner obj's underlying member method code with example usage: obj.update(inputs, results) without return types