|
|
|
@ -7061,10 +7061,10 @@ def dice_loss(input, label, epsilon=0.00001, name=None):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
input (Variable): Tensor, rank>=2, shape is :math:`[N_1, N_2, ..., N_D]`, where :math:`N_1` is
|
|
|
|
|
input (Tensor): Tensor, rank>=2, shape is :math:`[N_1, N_2, ..., N_D]`, where :math:`N_1` is
|
|
|
|
|
the batch_size, :math:`N_D` is 1. It is usually the output predictions of sigmoid activation.
|
|
|
|
|
The data type can be float32 or float64.
|
|
|
|
|
label (Variable): Tensor, the groud truth with the same rank as input, shape is :math:`[N_1, N_2, ..., N_D]`.
|
|
|
|
|
label (Tensor): Tensor, the groud truth with the same rank as input, shape is :math:`[N_1, N_2, ..., N_D]`.
|
|
|
|
|
where :math:`N_1` is the batch_size, :math:`N_D` is 1. The data type can be float32 or float64.
|
|
|
|
|
epsilon (float): The epsilon will be added to the numerator and denominator.
|
|
|
|
|
If both input and label are empty, it makes sure dice is 1.
|
|
|
|
@ -7074,18 +7074,19 @@ def dice_loss(input, label, epsilon=0.00001, name=None):
|
|
|
|
|
For more information, please refer to :ref:`api_guide_Name`
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
The dice loss with shape [1], data type is the same as `input` .
|
|
|
|
|
Return Type:
|
|
|
|
|
Varaible
|
|
|
|
|
Tensor, which shape is [1], data type is the same as `input` .
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
import paddle.fluid as fluid
|
|
|
|
|
x = fluid.data(name='data', shape = [3, 224, 224, 1], dtype='float32')
|
|
|
|
|
label = fluid.data(name='label', shape=[3, 224, 224, 1], dtype='float32')
|
|
|
|
|
predictions = fluid.layers.sigmoid(x)
|
|
|
|
|
loss = fluid.layers.dice_loss(input=predictions, label=label)
|
|
|
|
|
import paddle
|
|
|
|
|
import paddle.nn.functional as F
|
|
|
|
|
|
|
|
|
|
paddle.disable_static()
|
|
|
|
|
x = paddle.randn((3,224,224,2))
|
|
|
|
|
label = paddle.randint(high=2, shape=(3,224,224,1))
|
|
|
|
|
predictions = F.softmax(x)
|
|
|
|
|
loss = F.dice_loss(input=predictions, label=label)
|
|
|
|
|
"""
|
|
|
|
|
label = one_hot(label, depth=input.shape[-1])
|
|
|
|
|
reduce_dim = list(range(1, len(input.shape)))
|
|
|
|
@ -13098,10 +13099,10 @@ def log_loss(input, label, epsilon=1e-4, name=None):
|
|
|
|
|
- (1 - label) * \\log{(1 - input + \\epsilon)}
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
input (Variable|list): A 2-D tensor with shape [N x 1], where N is the
|
|
|
|
|
input (Tensor|list): A 2-D tensor with shape [N x 1], where N is the
|
|
|
|
|
batch size. This input is a probability computed
|
|
|
|
|
by the previous operator. Data type float32.
|
|
|
|
|
label (Variable|list): The ground truth which is a 2-D tensor with
|
|
|
|
|
label (Tensor|list): The ground truth which is a 2-D tensor with
|
|
|
|
|
shape [N x 1], where N is the batch size.
|
|
|
|
|
Data type float32.
|
|
|
|
|
epsilon (float, optional): A small number for numerical stability. Default 1e-4.
|
|
|
|
@ -13109,15 +13110,18 @@ def log_loss(input, label, epsilon=1e-4, name=None):
|
|
|
|
|
:ref:`api_guide_Name` . Usually name is no need to set and None by default.
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
Variable: A 2-D tensor with shape [N x 1], the negative log loss.
|
|
|
|
|
Tensor, which shape is [N x 1], data type is float32.
|
|
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
import paddle.fluid as fluid
|
|
|
|
|
label = fluid.data(name='label', shape=[None, 1], dtype='float32')
|
|
|
|
|
prob = fluid.data(name='prob', shape=[None, 1], dtype='float32')
|
|
|
|
|
cost = fluid.layers.log_loss(input=prob, label=label)
|
|
|
|
|
import paddle
|
|
|
|
|
import paddle.nn.functional as F
|
|
|
|
|
|
|
|
|
|
paddle.disable_static()
|
|
|
|
|
label = paddle.randn((10,1))
|
|
|
|
|
prob = paddle.randn((10,1))
|
|
|
|
|
cost = F.log_loss(input=prob, label=label)
|
|
|
|
|
"""
|
|
|
|
|
helper = LayerHelper('log_loss', **locals())
|
|
|
|
|
check_variable_and_dtype(input, 'input', ['float32'], 'log_loss')
|
|
|
|
|