              self._model = self._settings.check_model_precision(self._model, self._state)
  
          optimizer = Optimizer(self.config["optimizer"],
                                self.config["learning_rate"],
                                self.config.get("clipnorm", False),
                                10 ** int(self.config["epsilon_exponent"]),
                                self._mixed_precision,
                                self._args).optimizer
          if self._settings.use_mixed_precision:
              optimizer = self._settings.loss_scale_optimizer(optimizer)
          if get_backend() == "amd":
              self._rewrite_plaid_outputs()
  
 
</s> remove         if clipnorm and (arguments.distributed or mixed_precision):
            logger.warning("Clipnorm has been selected, but is unsupported when using distributed "
                           "or mixed_precision training, so has been disabled. If you wish to "
                           "enable clipnorm, then you must disable these other options.")
            clipnorm = False
        if clipnorm and get_backend() == "amd":
            # TODO add clipnorm in for plaidML when it is fixed upstream. Still not fixed in
            # release 0.7.0.
            logger.warning("Due to a bug in plaidML, clipnorm cannot be used on AMD backends so "
                           "has been disabled")
            clipnorm = False
        if clipnorm:
            self._kwargs["clipnorm"] = 1.0
 </s> add         if not autoclip:
            return </s> remove         priors = ["dssim_loss", "mask_type", "mask_type", "l2_reg_term"]
        new_items = ["loss_function", "learn_mask", "mask_type", "loss_function_2"]
 </s> add         priors = ["dssim_loss", "mask_type", "mask_type", "l2_reg_term", "clipnorm"]
        new_items = ["loss_function", "learn_mask", "mask_type", "loss_function_2",
                     "autoclip"] </s> remove     clipnorm: bool
        Whether to clip gradients to avoid exploding/vanishing gradients
 </s> add     autoclip: bool
        ``True`` if AutoClip should be enabled otherwise ``False``
                              autoclip,
                              10 ** int(self.config["epsilon_exponent"])).optimizer
              self._model = self._settings.check_model_precision(self._model, self._state)
  
          optimizer = Optimizer(self.config["optimizer"],
                                self.config["learning_rate"],
                              autoclip,
                              10 ** int(self.config["epsilon_exponent"])).optimizer
                              autoclip,
                              10 ** int(self.config["epsilon_exponent"])).optimizer
                              autoclip,
                              10 ** int(self.config["epsilon_exponent"])).optimizer
                              autoclip,
                              10 ** int(self.config["epsilon_exponent"])).optimizer
          if self._settings.use_mixed_precision:
              optimizer = self._settings.loss_scale_optimizer(optimizer)
          if get_backend() == "amd":
              self._rewrite_plaid_outputs()
  
keep keep keep keep replace replace replace replace keep keep keep keep keep
 Nvidia: Add AutoClip training option 
plugins/train/model/_base/model.py