class_docstr: Assessor analyzes trial's intermediate results (e.g., periodically evaluated accuracy on test dataset)
  to tell whether this trial can be early stopped or not.
  
  This is the abstract base class for all assessors.
  Early stopping algorithms should inherit this class and override :meth:`assess_trial` method,
  which receives intermediate results from trials and give an assessing result.
  
  If :meth:`assess_trial` returns :obj:`AssessResult.Bad` for a trial,
  it hints NNI framework that the trial is likely to result in a poor final accuracy,
  and therefore should be killed to save resource.
  
  If an assessor want's to be notified when a trial ends, it can also override :meth:`trial_end`.
  
  To write a new assessor, you can reference :class:`~nni.medianstop_assessor.MedianstopAssessor`'s code as an example.
  
  See Also
  --------
  Builtin assessors:
  :class:`~nni.algorithms.hpo.medianstop_assessor.MedianstopAssessor`
  :class:`~nni.algorithms.hpo.curvefitting_assessor.CurvefittingAssessor`
class_docstr_tok: ["Assessor","analyzes","trial","'s","intermediate","results","(","e.g.",",","periodically","evaluated","accuracy","on","test","dataset",")","to","tell","whether","this","trial","can","be","early","stopped","or","not",".","This","is","the","abstract","base","class","for","all","assessors",".","Early","stopping","algorithms","should","inherit","this","class","and","override",":","meth",":","`","assess_trial","`","method",",","which","receives","intermediate","results","from","trials","and","give","an","assessing","result",".","If",":","meth",":","`","assess_trial","`","returns",":","obj",":","`","AssessResult.Bad","`","for","a","trial",",","it","hints","NNI","framework","that","the","trial","is","likely","to","result","in","a","poor","final","accuracy",",","and","therefore","should","be","killed","to","save","resource",".","If","an","assessor","want","'s","to","be","notified","when","a","trial","ends",",","it","can","also","override",":","meth",":","`","trial_end","`",".","To","write","a","new","assessor",",","you","can","reference",":","class",":","`","~nni.medianstop_assessor.MedianstopAssessor","`","'s","code","as","an","example",".","See","Also","--","--","--","--","Builtin","assessors",":",":","class",":","`","~nni.algorithms.hpo.medianstop_assessor.MedianstopAssessor","`",":","class",":","`","~nni.algorithms.hpo.curvefitting_assessor.CurvefittingAssessor","`"]
code: def _on_error(self) -> None:
      pass
  
file_path: nni/nni/assessor.py
imports: from __future__ import annotations
  from enum import Enum
  import logging
  from .recoverable import Recoverable
  from .typehint import TrialMetric
label_desc: Use image node_id 6 for calling the Assessor obj's underlying member method code with example usage: obj._on_error() without return types