          and added as the 4th channel being passed to the penalized loss function.
  
          Parameters
          ----------
          y_true: tensor or variable
              The ground truth value
          y_pred: tensor or variable
              The predicted value
  
          Returns
          -------
          tensor
              The final loss value
 
</s> remove         If a mask is being applied to the loss, then the appropriate mask is extracted from y_true
        and added as the 4th channel being passed to the penalized loss function.
 </s> add         If masks are being applied to the loss function inputs, then they should be included as
        additional channels at the end of :param:`y_true`, so that they can be split off and
        applied to the actual inputs to the selected loss function(s). </s> remove         tensor
            The final loss value
 </s> add         :class:`tensorflow.Tensor`
            The final weighted loss </s> remove         tuple
            (n_true, n_pred): The ground truth and predicted value tensors with the mask applied
 </s> add         tf.Tensor
            The ground truth batch of images, with the required mask applied
        tf.Tensor
            The predicted batch of images with the required mask applied </s> remove         Weights are returned as the weighted sum of the chosen losses.
 </s> add         Loss is returned as the weighted sum of the chosen losses. </s> remove         function: :class:`keras.losses.Loss`
 </s> add         function: :class:`tf.keras.losses.Loss`
        y_true: :class:`tensorflow.Tensor`
            The ground truth batch of images, with any required masks stacked on the end
        y_pred: :class:`tensorflow.Tensor`
            The batch of model predictions
          and added as the 4th channel being passed to the penalized loss function.
  
          Parameters
          ----------
        y_true: :class:`tensorflow.Tensor`
            The ground truth batch of images, with any required masks stacked on the end
        y_pred: :class:`tensorflow.Tensor`
            The batch of model predictions
        y_true: :class:`tensorflow.Tensor`
            The ground truth batch of images, with any required masks stacked on the end
        y_pred: :class:`tensorflow.Tensor`
            The batch of model predictions
        y_true: :class:`tensorflow.Tensor`
            The ground truth batch of images, with any required masks stacked on the end
        y_pred: :class:`tensorflow.Tensor`
            The batch of model predictions
        y_true: :class:`tensorflow.Tensor`
            The ground truth batch of images, with any required masks stacked on the end
        y_pred: :class:`tensorflow.Tensor`
            The batch of model predictions
  
          Returns
          -------
          tensor
              The final loss value
keep keep keep keep replace replace replace replace keep keep keep keep keep
 bugfix: distibuted training with dssim 
lib/model/losses_tf.py