class_docstr: Plateau is the learning rate schedule when a metric has stopped improving.
  Models often benefit from reducing the learning rate by a factor of 2-10
  once learning stagnates. It monitors a quantity and if no improvement
  is seen for a 'patience' number of epochs, the learning rate is reduced.
  
  :param monitor quantity to be monitored, can be Loss or score
  :param factor factor by which the learning rate will be reduced. new_lr = lr * factor
  :param patience number of epochs with no improvement after which learning rate will be reduced.
  :param mode one of {min, max}.
              In min mode, lr will be reduced when the quantity monitored has stopped decreasing;
              in max mode it will be reduced when the quantity monitored has stopped increasing
  :param epsilon threshold for measuring the new optimum, to only focus on significant changes.
  :param cooldown number of epochs to wait before resuming normal operation
                  after lr has been reduced.
  :param min_lr lower bound on the learning rate.
  
  >>> plateau = Plateau("score")
  creating: createPlateau
code: def __init__(
      self,
      monitor,
      factor=0.1,
      patience=10,
      mode="min",
      epsilon=1e-4,
      cooldown=0,
      min_lr=0.0,
  ):
      from bigdl.optim.optimizer import Plateau as BPlateau
  
      self.scheduler = BPlateau(
          monitor, factor, patience, mode, epsilon, cooldown, min_lr
      )
  
imports: from abc import ABC, abstractmethod
label_desc: Use image node_id 1 to create a new Plateau object from inherited base classes: Scheduler with example: obj = Plateau(monitor, factor, patience, mode, epsilon, cooldown, min_lr)