code: def __init__(self, monitor, larger_better, must_have_monitor=False):
      super(ProgressCallback, self).__init__(
          monitor=monitor,
          larger_better=larger_better,
          must_have_monitor=must_have_monitor,
      )
      self.best_monitor_epoch = -1
      self.best_monitor_step = -1
      self.best_results = None
  
imports: import json
  from typing import Union
  from .has_monitor_callback import HasMonitorCallback
  from fastNLP.core.utils import f_rich_progress, f_tqdm_progress
  from fastNLP.core.log import logger
label_desc: Use image node_id 1 to create a new ProgressCallback object from inherited base classes: HasMonitorCallback with example: obj = ProgressCallback(monitor, larger_better, must_have_monitor)