{"record":{"id":"860e45ffdc36668c","repo":"tensorflow/models","slug":"best-checkpoint-metric-comp-must-be-one-of-higher","errorCode":null,"errorMessage":"best checkpoint metric comp must be one of higher, lower. Got: {}","messagePattern":"best checkpoint metric comp must be one of higher, lower\\. Got: (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/core/train_utils.py","lineNumber":154,"sourceCode":"  Orbit will support an API for checkpoint exporter. This class will be used\n  together with orbit once this functionality is ready.\n  \"\"\"\n\n  def __init__(self, export_dir: str, metric_name: str, metric_comp: str):\n    \"\"\"Initialization.\n\n    Args:\n      export_dir: The directory that will contain exported checkpoints.\n      metric_name: Indicates which metric to look at, when determining which\n        result is better. If eval_logs being passed to maybe_export_checkpoint\n        is a nested dictionary, use `|` as a seperator for different layers.\n      metric_comp: Indicates how to compare results. Either `lower` or `higher`.\n    \"\"\"\n    self._export_dir = export_dir\n    self._metric_name = metric_name.split('|')\n    self._metric_comp = metric_comp\n    if self._metric_comp not in ('lower', 'higher'):\n      raise ValueError('best checkpoint metric comp must be one of '\n                       'higher, lower. Got: {}'.format(self._metric_comp))\n    tf.io.gfile.makedirs(os.path.dirname(self.best_ckpt_logs_path))\n    self._best_ckpt_logs = self._maybe_load_best_eval_metric()\n    self._checkpoint_manager = None\n\n  def _get_checkpoint_manager(self, checkpoint):\n    \"\"\"Gets an existing checkpoint manager or creates a new one.\"\"\"\n    if self._checkpoint_manager is None or (self._checkpoint_manager.checkpoint\n                                            != checkpoint):\n      logging.info('Creates a new checkpoint manager.')\n      self._checkpoint_manager = tf.train.CheckpointManager(\n          checkpoint,\n          directory=self._export_dir,\n          max_to_keep=1,\n          checkpoint_name=BEST_CHECKPOINT_NAME)\n\n    return self._checkpoint_manager\n","sourceCodeStart":136,"sourceCodeEnd":172,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/core/train_utils.py#L136-L172","documentation":"Error \"best checkpoint metric comp must be one of higher, lower. Got: {}\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/core/train_utils.py:154 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e006f5f0d534913e49c1f1dae87364039fa607e2","analyzedAt":"2026-08-24T14:09:15.576Z","schemaVersion":2},"datasetVersion":"2026-08-24T17:17:21.512Z"}