          The selected learning rate to use
      clipnorm: bool
          Whether to clip gradients to avoid exploding/vanishing gradients
      arguments: :class:`argparse.Namespace`
          The arguments that were passed to the train or convert process as generated from
          Faceswap's command line arguments
      """
 
</s> remove     def __init__(self, optimizer, learning_rate, clipnorm, arguments):
 </s> add     def __init__(self, optimizer, learning_rate, clipnorm, epsilon, arguments): </s> remove                      "arguments: %s", self.__class__.__name__, optimizer, learning_rate, clipnorm,
                     arguments)
 </s> add                      "epsilon: %s, arguments: %s)", self.__class__.__name__,
                     optimizer, learning_rate, clipnorm, epsilon, arguments) </s> remove         The losses are then into a total for each side. Loss totals are added to
 </s> add         The losses are summed into a total for each side. Loss totals are added to </s> remove     round_to: int
        If :attr:`dtype` is :class:`float` then this is the decimal place rounding for :attr:`var`.
        If :attr:`dtype` is :class:`int` then this is the number of steps between each increment
        for :attr:`var`
 </s> add     round_to: int or list
        If :attr:`d_type` is :class:`float` then this is the decimal place rounding for
        :attr:`var`. If :attr:`d_type` is :class:`int` then this is the number of steps between
        each increment for :attr:`var`. If a list is provided, then this must be a list of
        discreet values that are of the correct :attr:`d_type`.
    epsilon: float
        The value to use for the epsilon of the optimizer
          The selected learning rate to use
      clipnorm: bool
          Whether to clip gradients to avoid exploding/vanishing gradients
    epsilon: float
        The value to use for the epsilon of the optimizer
      arguments: :class:`argparse.Namespace`
          The arguments that were passed to the train or convert process as generated from
          Faceswap's command line arguments
      """
keep keep add keep keep keep keep
 Training updates:
  - Expose optimizer epsilon param
  - Add NaN protection
GUI - slider - add support for discreet values 
plugins/train/model/_base.py