          This is a bit of a hack, but it does work.
          """
          # TODO Remove this rewrite code if PlaidML updates to a version of Keras where this is
          # no longer necessary
          if len(self._model.output_names) == len(set(self._model.output_names)):
              logger.debug("Output names are unique, not rewriting: %s", self._model.output_names)
              return
          seen = {name: 0 for name in set(self._model.output_names)}
          new_names = []
          for name in self._model.output_names:
              new_names.append(f"{name}_{seen[name]}")
 
</s> remove         seen = {name: 0 for name in set(self._model.output_names)}
 </s> add         seen = {name: 0 for name in set(self.model.output_names)} </s> remove         for name in self._model.output_names:
 </s> add         for name in self.model.output_names: </s> remove                      self._model.output_names, new_names)
        self._model.output_names = new_names
 </s> add                      self.model.output_names, new_names)
        self.model.output_names = new_names </s> remove         new_config = dict()
 </s> add         new_config = {} </s> remove             name = "af_subframe_{}".format(idx)
 </s> add             name = f"af_subframe_{idx}"
        if len(self.model.output_names) == len(set(self.model.output_names)):
            logger.debug("Output names are unique, not rewriting: %s", self.model.output_names)
          This is a bit of a hack, but it does work.
          """
          # TODO Remove this rewrite code if PlaidML updates to a version of Keras where this is
          # no longer necessary
        if len(self.model.output_names) == len(set(self.model.output_names)):
            logger.debug("Output names are unique, not rewriting: %s", self.model.output_names)
        if len(self.model.output_names) == len(set(self.model.output_names)):
            logger.debug("Output names are unique, not rewriting: %s", self.model.output_names)
              return
          seen = {name: 0 for name in set(self._model.output_names)}
          new_names = []
          for name in self._model.output_names:
              new_names.append(f"{name}_{seen[name]}")
keep keep keep keep replace replace keep keep keep keep keep
 Core updates
   - Change loss loading mechanism
   - Autosize tooltips based on content size
   - Random linting + code modernisation 
plugins/train/model/_base/model.py