credit.losses.almost_fair_crps
==============================

.. py:module:: credit.losses.almost_fair_crps


Classes
-------

.. autoapisummary::

   credit.losses.almost_fair_crps.AlmostFairKCRPSLoss


Module Contents
---------------

.. py:class:: AlmostFairKCRPSLoss(alpha=1.0, reduction='mean', no_autocast=True)

   Bases: :py:obj:`torch.nn.Module`


   Base class for all neural network modules.

   Your models should also subclass this class.

   Modules can also contain other Modules, allowing them to be nested in
   a tree structure. You can assign the submodules as regular attributes::

       import torch.nn as nn
       import torch.nn.functional as F


       class Model(nn.Module):
           def __init__(self) -> None:
               super().__init__()
               self.conv1 = nn.Conv2d(1, 20, 5)
               self.conv2 = nn.Conv2d(20, 20, 5)

           def forward(self, x):
               x = F.relu(self.conv1(x))
               return F.relu(self.conv2(x))

   Submodules assigned in this way will be registered, and will also have their
   parameters converted when you call :meth:`to`, etc.

   .. note::
       As per the example above, an ``__init__()`` call to the parent class
       must be made before assignment on the child.

   :ivar training: Boolean represents whether this module is in training or
                   evaluation mode.
   :vartype training: bool


   .. py:attribute:: alpha
      :value: 1.0



   .. py:attribute:: reduction
      :value: 'mean'



   .. py:attribute:: no_autocast
      :value: True



   .. py:attribute:: batched_forward


   .. py:method:: forward(target, pred)


   .. py:method:: single_sample_forward(target, pred)

      :param target: shape (1, c, t, lat, lon)
      :param pred: shape (ensemble, c, t, lat, lon)

      :returns: shape (c, t, lat, lon)
      :rtype: crps



   .. py:method:: _kernel_crps(preds: torch.Tensor, targets: torch.Tensor, alpha: float)

      :param preds: (c, t, lat, lon, ensemble)
      :param targets: (c, t, lat, lon)

      :returns: (c, t, lat, lon)
      :rtype: crps



