code: def tune(self):
          
  
          if self.verbose > 0:
              print_('\tTuning at iteration', self._current_iter)
  
          # Initialize counter for number of tuning stochastics
          tuning_count = 0
  
          for step_method in self.step_methods:
              verbose = self.verbose
              if step_method.verbose > -1:
                  verbose = step_method.verbose
              # Tune step methods
              tuning_count += step_method.tune(verbose=self.verbose)
              if verbose > 1:
                  print_(
                      '\t\tTuning step method %s, returned %i\n' % (
                          step_method._id, tuning_count
                      )
                  )
                  sys.stdout.flush()
  
          if self._burn_till_tuned:
              if not tuning_count:
                  # If no step methods needed tuning, increment count
                  self._tuned_count += 1
              else:
                  # Otherwise re-initialize count
                  self._tuned_count = 0
  
              # n consecutive clean intervals removed tuning
              # n is equal to self._stop_tuning_after
              if self._tuned_count == self._stop_tuning_after:
                  if self.verbose > 0:
                      print_('\nFinished tuning')
                  self._tuning = False
docs: Tell all step methods to tune themselves.