GaussianNLLLoss
-
class torch.nn.GaussianNLLLoss(*, full=False, eps=1e-06, reduction='mean')[source] -
Gaussian negative log likelihood loss.
The targets are treated as samples from Gaussian distributions with expectations and variances predicted by the neural network. For a D-dimensional
targettensor modelled as having heteroscedastic Gaussian distributions with a D-dimensional tensor of expectationsinputand a D-dimensional tensor of positive variancesvarthe loss is:where
epsis used for stability. By default, the constant term of the loss function is omitted unlessfullisTrue. Ifvaris a scalar (implyingtargettensor has homoscedastic Gaussian distributions) it is broadcasted to be the same size as the input.- Parameters
-
-
full (bool, optional) – include the constant term in the loss calculation. Default:
False. -
eps (float, optional) – value used to clamp
var(see note below), for stability. Default: 1e-6. -
reduction (string, optional) – specifies the reduction to apply to the output:
'none'|'mean'|'sum'.'none': no reduction will be applied,'mean': the output is the average of all batch member losses,'sum': the output is the sum of all batch member losses. Default:'mean'.
-
full (bool, optional) – include the constant term in the loss calculation. Default:
- Shape:
-
- Input: where means any number of additional dimensions
- Target: , same shape as the input
- Var: or , same shape as the input
- Output: scalar if
reductionis'mean'(default) or'sum'. Ifreductionis'none', then
Examples:
>>> loss = nn.GaussianNLLLoss() >>> input = torch.randn(5, 2, requires_grad=True) >>> target = torch.randn(5, 2) >>> var = torch.ones(5, 2, requires_grad=True) #heteroscedastic >>> output = loss(input, target, var) >>> output.backward() >>> loss = nn.GaussianNLLLoss() >>> input = torch.randn(5, 2, requires_grad=True) >>> target = torch.randn(5, 2) >>> var = torch.ones(5, 1, requires_grad=True) #homoscedastic >>> output = loss(input, target, var) >>> output.backward()
Note
The clamping of
varis ignored with respect to autograd, and so the gradients are unaffected by it.- Reference:
-
Nix, D. A. and Weigend, A. S., “Estimating the mean and variance of the target probability distribution”, Proceedings of 1994 IEEE International Conference on Neural Networks (ICNN’94), Orlando, FL, USA, 1994, pp. 55-60 vol.1, doi: 10.1109/ICNN.1994.374138.
© 2019 Torch Contributors
Licensed under the 3-clause BSD License.
https://pytorch.org/docs/1.8.0/generated/torch.nn.GaussianNLLLoss.html