def METHOD_NAME(self, outputs: Any, batch: Batch, *args, **kwargs) -> Union[Tensor, Sequence[Tensor]]:
    """Compute the loss of the model given ``outputs`` from :meth:`forward` and a
    :class:`~composer.core.types.Batch` of data from the dataloader. The :class:`.Trainer`
    will call ``.backward()`` on the returned loss.
    Args:
        outputs (Any): The output of the forward pass.
        batch (~composer.core.types.Batch): The output batch from dataloader.
    Returns:
        Tensor | Sequence[Tensor]: The loss as a :class:`torch.Tensor`.
    Example:
    .. code-block:: python
        import torch.nn.functional as F
        def loss(self, outputs, batch):
            # pass batches and :meth:`forward` outputs to the loss
             _, targets = batch # discard inputs from batch
            return F.cross_entropy(outputs, targets)
    The outputs of :meth:`forward` are passed to :meth:`loss` by the trainer:
    .. code-block:: python
        for batch in train_dataloader:
            optimizer.zero_grad()
            outputs = model.forward(batch)
            loss = model.loss(outputs, batch)
            loss.backward()
    """
    pass