ncalab.losses
Classes
Pytorch Module that computes the Dice overlap score between two images. |
|
Base class for all neural network modules. |
|
Combination of Dice and BCE Loss between two images. |
|
Base class for all neural network modules. |
Module Contents
- class ncalab.losses.DiceScore
Bases:
torch.nn.ModulePytorch Module that computes the Dice overlap score between two images.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- forward(x: torch.Tensor, y: torch.Tensor, smooth: float = 1.0) torch.Tensor
- Parameters:
x (torch.Tensor) – Reference Input
y (torch.Tensor) – Other Input
smooth (float) – Smooting factor, defaults to 1.0
- Returns:
Dice score
- Return type:
torch.Tensor
- class ncalab.losses.DiceLoss
Bases:
torch.nn.ModuleBase 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
to(), etc.Note
As per the example above, an
__init__()call to the parent class must be made before assignment on the child.- Variables:
training (bool) – Boolean represents whether this module is in training or evaluation mode.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- dicescore
- forward(x: torch.Tensor, y: torch.Tensor, smooth: float = 1.0) torch.Tensor
- class ncalab.losses.DiceBCELoss
Bases:
torch.nn.ModuleCombination of Dice and BCE Loss between two images.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- dicescore
- forward(x: torch.Tensor, y: torch.Tensor, smooth: float = 1.0) torch.Tensor
- Parameters:
x (torch.Tensor) – Reference Input
y (torch.Tensor) – Other Input
smooth (float) – Smooting factor, defaults to 1.0
- Returns:
Dice score
- Return type:
torch.Tensor
- class ncalab.losses.FocalLoss(weight=None, gamma=2, device='cpu')
Bases:
torch.nn.modules.loss._WeightedLossBase 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
to(), etc.Note
As per the example above, an
__init__()call to the parent class must be made before assignment on the child.- Variables:
training (bool) – Boolean represents whether this module is in training or evaluation mode.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- gamma = 2
- weight = None
- device = 'cpu'
- ce_loss
- forward(_input, _target)