From a64c7c91786527671f3769a39433645238877896 Mon Sep 17 00:00:00 2001 From: Jiaqi Liu Date: Fri, 15 Jan 2021 12:53:00 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90Cherry=20pick=E3=80=91=20Expose=20padd?= =?UTF-8?q?le.static.auc,=20paddle.static.acc=20to=20users=20(#30311)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Alias from paddle.fluid.layers.auc to paddle.static.auc (#30206) * add alias from fluid.layers.auc to static.auc * Update __init__.py * add auc into all list * alias acc, expose to users * add auc into 'all' list (#30310) * add auc into 'all' list * alias acc, expose to users * update sample code --- python/paddle/fluid/layers/metric_op.py | 54 ++++++++++++++----------- python/paddle/static/__init__.py | 4 ++ 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/python/paddle/fluid/layers/metric_op.py b/python/paddle/fluid/layers/metric_op.py index 35d14ef7657..69052a502c1 100644 --- a/python/paddle/fluid/layers/metric_op.py +++ b/python/paddle/fluid/layers/metric_op.py @@ -51,27 +51,30 @@ def accuracy(input, label, k=1, correct=None, total=None): Examples: .. code-block:: python - - import paddle.fluid as fluid import numpy as np - data = fluid.data(name="input", shape=[-1, 32, 32], dtype="float32") - label = fluid.data(name="label", shape=[-1,1], dtype="int") - fc_out = fluid.layers.fc(input=data, size=10) - predict = fluid.layers.softmax(input=fc_out) - result = fluid.layers.accuracy(input=predict, label=label, k=5) + import paddle + import paddle.static as static + import paddle.nn.functional as F + + paddle.enable_static() + data = static.data(name="input", shape=[-1, 32, 32], dtype="float32") + label = static.data(name="label", shape=[-1,1], dtype="int") + fc_out = static.nn.fc(x=data, size=10) + predict = F.softmax(x=fc_out) + result = static.accuracy(input=predict, label=label, k=5) - place = fluid.CPUPlace() - exe = fluid.Executor(place) + place = paddle.CPUPlace() + exe = static.Executor(place) - exe.run(fluid.default_startup_program()) + exe.run(static.default_startup_program()) x = np.random.rand(3, 32, 32).astype("float32") y = np.array([[1],[0],[1]]) output= exe.run(feed={"input": x,"label": y}, - fetch_list=[result[0]]) + fetch_list=[result[0]]) print(output) - #[array([0.6666667], dtype=float32)] + #[array([0.], dtype=float32)] """ if in_dygraph_mode(): if correct is None: @@ -153,26 +156,29 @@ def auc(input, Examples: .. code-block:: python - - import paddle.fluid as fluid import numpy as np - data = fluid.data(name="input", shape=[-1, 32,32], dtype="float32") - label = fluid.data(name="label", shape=[-1], dtype="int") - fc_out = fluid.layers.fc(input=data, size=2) - predict = fluid.layers.softmax(input=fc_out) - result=fluid.layers.auc(input=predict, label=label) + import paddle + import paddle.static as static + import paddle.nn.functional as F + + paddle.enable_static() + data = static.data(name="input", shape=[-1, 32,32], dtype="float32") + label = static.data(name="label", shape=[-1], dtype="int") + fc_out = static.nn.fc(x=data, size=2) + predict = F.softmax(x=fc_out) + result = static.auc(input=predict, label=label) - place = fluid.CPUPlace() - exe = fluid.Executor(place) + place = paddle.CPUPlace() + exe = static.Executor(place) - exe.run(fluid.default_startup_program()) + exe.run(static.default_startup_program()) x = np.random.rand(3,32,32).astype("float32") y = np.array([1,0,1]) output= exe.run(feed={"input": x,"label": y}, - fetch_list=[result[0]]) + fetch_list=[result[0]]) print(output) - #[array([0.5])] + #[array([0.])] """ helper = LayerHelper("auc", **locals()) check_variable_and_dtype(input, 'input', ['float32', 'float64'], 'auc') diff --git a/python/paddle/static/__init__.py b/python/paddle/static/__init__.py index cb3764b7959..332e9c25510 100644 --- a/python/paddle/static/__init__.py +++ b/python/paddle/static/__init__.py @@ -45,6 +45,8 @@ __all__ = [ 'Variable', 'load_vars', 'save_vars', + 'auc', + 'accuracy', ] from . import nn @@ -91,3 +93,5 @@ from ..fluid.io import save_vars #DEFINE_ALIAS from ..fluid.layers import create_parameter #DEFINE_ALIAS from ..fluid.layers import create_global_var #DEFINE_ALIAS +from ..fluid.layers.metric_op import auc #DEFINE_ALIAS +from ..fluid.layers.metric_op import accuracy #DEFINE_ALIAS -- GitLab