class_docstr: Tempo evaluation class.
  
  Parameters
  ----------
  detections : str, list of tuples or numpy array
      Detected tempi (rows) and their strengths (columns).
      If a file name is given, load them from this file.
  annotations : str, list or numpy array
      Annotated ground truth tempi (rows) and their strengths (columns).
      If a file name is given, load them from this file.
  tolerance : float, optional
      Evaluation tolerance (max. allowed deviation).
  double : bool, optional
      Include double and half tempo variations.
  triple : bool, optional
      Include triple and third tempo variations.
  sort : bool, optional
      Sort the tempi by their strengths (descending order).
  max_len : bool, optional
      Evaluate at most `max_len` tempi.
  name : str, optional
      Name of the evaluation to be displayed.
  
  Notes
  -----
  For P-Score, the number of detected tempi will be limited to the number
  of annotations (if not further limited by `max_len`).
  For Accuracy 1 & 2 only one detected tempo is used. Depending on `sort`,
  this can be either the first or the strongest one.
docstr: Format the evaluation metrics as a human readable string.
  
  Returns
  -------
  str
      Evaluation metrics formatted as a human readable string.
docstr_tok: ["Format","the","evaluation","metrics","as","a","human","readable","string",".","Returns","--","--","--","-","str","Evaluation","metrics","formatted","as","a","human","readable","string","."]
code: def tostring(self, **kwargs):
      """
      Format the evaluation metrics as a human readable string.
  
      Returns
      -------
      str
          Evaluation metrics formatted as a human readable string.
  
      """
      # pylint: disable=unused-argument
  
      ret = ""
      if self.name is not None:
          ret += "%s\n  " % self.name
      ret += (
          "pscore=%.3f (one tempo: %.3f, all tempi: %.3f) "
          "acc1=%.3f acc2=%.3f"
          % (self.pscore, self.any, self.all, self.acc1, self.acc2)
      )
      return ret
  
imports: from __future__ import absolute_import, division, print_function
  import warnings
  import numpy
  from .None import EvaluationMixin, MeanEvaluation, evaluation_io
  from ..io import load_tempo
label_desc: Use image node_id 3 for calling the TempoEvaluation obj's underlying member method code with example usage: obj.tostring() and returns: ret