          self._names = self._get_loss_names(outputs)
          self._funcs = self._get_loss_functions()
          self._names.insert(0, "total")
  
      @classmethod
      def _get_loss_names(cls, outputs):
          """ Name the losses based on model output
  
          Notes
          -----
          TODO Currently there is an issue in Tensorflow that wraps all outputs in an Identity layer
          when running in Eager Execution mode, which means we cannot use the name of the output
 
</s> remove         self._inputs = inputs
        self._names = self._get_loss_names(outputs)
        self._funcs = self._get_loss_functions()
 </s> add         self._inputs = model.inputs
        self._get_loss_names(model.outputs)
        self._get_loss_functions(model.output_names) </s> remove         inputs: list
            A list of input tensors to the model in the order ("a", "b")
        outputs: list
            A list of output tensors to the model in the order ("a", "b")
 </s> add         model: :class:`keras.models.Model`
            The model that is to be trained </s> remove         retval = []
 </s> add  </s> remove 
        Returns
        -------
        list
            A list of names for the losses to be applied to the model
 </s> add  </s> remove     def configure(self, inputs, outputs):
 </s> add     def configure(self, model):
    def _get_loss_names(self, outputs):
        """ Name the losses based on model output.

        This is used for correct naming in the state file, for display purposes only.

        Adds the loss names to :attr:`names`
          self._names = self._get_loss_names(outputs)
          self._funcs = self._get_loss_functions()
          self._names.insert(0, "total")
  
    def _get_loss_names(self, outputs):
        """ Name the losses based on model output.

        This is used for correct naming in the state file, for display purposes only.

        Adds the loss names to :attr:`names`
    def _get_loss_names(self, outputs):
        """ Name the losses based on model output.

        This is used for correct naming in the state file, for display purposes only.

        Adds the loss names to :attr:`names`
    def _get_loss_names(self, outputs):
        """ Name the losses based on model output.

        This is used for correct naming in the state file, for display purposes only.

        Adds the loss names to :attr:`names`
  
          Notes
          -----
          TODO Currently there is an issue in Tensorflow that wraps all outputs in an Identity layer
          when running in Eager Execution mode, which means we cannot use the name of the output
keep keep keep keep replace replace replace keep keep keep keep keep
 training - Use explicit loss dictionaries to map to outputs 
plugins/train/model/_base.py