def forward(self, input_: torch.Tensor, target: torch.Tensor) -> torch.Tensor:
        """Calculates loss between ``input_`` and ``target`` tensors.

        Args:
            input_: input tensor of shape ...
            target: target tensor of shape ...

        @TODO: Docs (add shapes). Contribution is welcome.
        """
        assert input_.size() == target.size()
        input_ = F.log_softmax(input_)
        loss = -torch.sum(input_ * target)
        loss = loss / input_.size()[0] if self.size_average else loss
        return loss
Calculates loss between ``input_`` and ``target`` tensors.

        Args:
            input_: input tensor of shape ...
            target: target tensor of shape ...

        @TODO: Docs (add shapes). Contribution is welcome.
        
catalyst/contrib/losses/ce.py