MSELoss

class paddle.fluid.dygraph.MSELoss(reduction='mean')[source]

Mean Square Error Loss Computes the mean square error (squared L2 norm) of given input and label.

If reduction is set to 'none', loss is calculated as:

\[Out = (input - label)^2\]

If reduction is set to 'mean', loss is calculated as:

\[Out = \operatorname{mean}((input - label)^2)\]

If reduction is set to 'sum', loss is calculated as:

\[Out = \operatorname{sum}((input - label)^2)\]

where input and label are float32 tensors of same shape.

Parameters
  • input (Variable) – Input tensor, the data type is float32,

  • label (Variable) – Label tensor, the data type is float32,

  • reduction (string, optional) – The reduction method for the output, could be ‘none’ | ‘mean’ | ‘sum’. If reduction is 'mean', the reduced mean loss is returned. If size_average is 'sum', the reduced sum loss is returned. If reduction is 'none', the unreduced loss is returned. Default is 'mean'.

Returns

The tensor variable storing the MSE loss of input and label.

Return type:

Variable.

Examples

import numpy as np
from paddle import fluid
import paddle.fluid.dygraph as dg

mse_loss = fluid.dygraph.MSELoss()
input = fluid.data(name="input", shape=[1])
label = fluid.data(name="label", shape=[1])
place = fluid.CPUPlace()
input_data = np.array([1.5]).astype("float32")
label_data = np.array([1.7]).astype("float32")

# declarative mode
output = mse_loss(input,label)
exe = fluid.Executor(place)
exe.run(fluid.default_startup_program())
output_data = exe.run(
    fluid.default_main_program(),
    feed={"input":input_data, "label":label_data},
    fetch_list=[output],
    return_numpy=True)
print(output_data)
# [array([0.04000002], dtype=float32)]

# imperative mode
with dg.guard(place) as g:
    input = dg.to_variable(input_data)
    label = dg.to_variable(label_data)
    output = mse_loss(input, label)
    print(output.numpy())
    # [0.04000002]
forward(input, label)

Defines the computation performed at every call. Should be overridden by all subclasses.

Parameters
  • *inputs (tuple) – unpacked tuple arguments

  • **kwargs (dict) – unpacked dict arguments