class_docstr: Early Stopping to terminate training early under certain conditions
  
  EarlyStopping callback to exit the training loop if training or
      validation loss does not improve by a certain amount for a certain
      number of epochs
  
  :param monitor: (string in {'val_loss', 'loss'}):
      whether to monitor train or val loss
  :param min_delta: (float):
      minimum change in monitored value to qualify as improvement.
      This number should be positive.
  :param patience: (int):
      number of epochs to wait for improvment before terminating.
      the counter be reset after each improvment
code: def on_epoch_end(self, epoch, logs=None):
      current_loss = logs.get(self.monitor)
      if current_loss is None:
          pass
      else:
          if (current_loss - self.best_loss) < -self.min_delta:
              self.best_loss = current_loss
              self.wait = 1
          else:
              if self.wait >= self.patience:
                  self.stopped_epoch = epoch + 1
                  self.trainer._stop_training = True
              self.wait += 1
  
imports: from .None import Callback
label_desc: Use image node_id 3 for calling the EarlyStopping obj's underlying member method code with example usage: obj.on_epoch_end(epoch, logs) without return types