fix dice_loss, log_loss doc and example code test=document_fix (#27702)

* update 2.0 API for dice_loss and log_loss test=document_fix
my_2.0rc
lijianshe02 5 years ago committed by GitHub
parent 8d68dd4785
commit 295e87e428
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -7061,10 +7061,10 @@ def dice_loss(input, label, epsilon=0.00001, name=None):
Parameters: 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 batch_size, :math:`N_D` is 1. It is usually the output predictions of sigmoid activation.
The data type can be float32 or float64. 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. 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. 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. 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` For more information, please refer to :ref:`api_guide_Name`
Returns: Returns:
The dice loss with shape [1], data type is the same as `input` . Tensor, which shape is [1], data type is the same as `input` .
Return Type:
Varaible
Example: Example:
.. code-block:: python .. code-block:: python
import paddle.fluid as fluid import paddle
x = fluid.data(name='data', shape = [3, 224, 224, 1], dtype='float32') import paddle.nn.functional as F
label = fluid.data(name='label', shape=[3, 224, 224, 1], dtype='float32')
predictions = fluid.layers.sigmoid(x) paddle.disable_static()
loss = fluid.layers.dice_loss(input=predictions, label=label) 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]) label = one_hot(label, depth=input.shape[-1])
reduce_dim = list(range(1, len(input.shape))) 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)} - (1 - label) * \\log{(1 - input + \\epsilon)}
Args: 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 batch size. This input is a probability computed
by the previous operator. Data type float32. 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. shape [N x 1], where N is the batch size.
Data type float32. Data type float32.
epsilon (float, optional): A small number for numerical stability. Default 1e-4. 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. :ref:`api_guide_Name` . Usually name is no need to set and None by default.
Returns: 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: Examples:
.. code-block:: python .. code-block:: python
import paddle.fluid as fluid import paddle
label = fluid.data(name='label', shape=[None, 1], dtype='float32') import paddle.nn.functional as F
prob = fluid.data(name='prob', shape=[None, 1], dtype='float32')
cost = fluid.layers.log_loss(input=prob, label=label) 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()) helper = LayerHelper('log_loss', **locals())
check_variable_and_dtype(input, 'input', ['float32'], 'log_loss') check_variable_and_dtype(input, 'input', ['float32'], 'log_loss')

Loading…
Cancel
Save