未验证 提交 295e87e4 编写于 作者: L lijianshe02 提交者: GitHub

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
上级 8d68dd47
...@@ -7061,10 +7061,10 @@ def dice_loss(input, label, epsilon=0.00001, name=None): ...@@ -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): ...@@ -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): ...@@ -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): ...@@ -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')
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册