From 9d6640ff4489c1b010ae0d8302f5534117700319 Mon Sep 17 00:00:00 2001 From: ruri Date: Wed, 12 Jun 2019 11:44:39 +0800 Subject: [PATCH] Fix edit distance doc (#17947) * fix im2sequence padding bug, test=develop * fix edit_distance, test=develop * add API.spec,test=develop --- paddle/fluid/API.spec | 2 +- python/paddle/fluid/layers/nn.py | 27 +++++++++++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/paddle/fluid/API.spec b/paddle/fluid/API.spec index 02c84697a47..3ee4f045e36 100644 --- a/paddle/fluid/API.spec +++ b/paddle/fluid/API.spec @@ -117,7 +117,7 @@ paddle.fluid.layers.sequence_slice (ArgSpec(args=['input', 'offset', 'length', ' paddle.fluid.layers.dropout (ArgSpec(args=['x', 'dropout_prob', 'is_test', 'seed', 'name', 'dropout_implementation'], varargs=None, keywords=None, defaults=(False, None, None, 'downgrade_in_infer')), ('document', 'f1dd22f7351f7f9853212958e0d8aa7a')) paddle.fluid.layers.split (ArgSpec(args=['input', 'num_or_sections', 'dim', 'name'], varargs=None, keywords=None, defaults=(-1, None)), ('document', '59b28903ce8fb6a7e3861ff355592eb4')) paddle.fluid.layers.ctc_greedy_decoder (ArgSpec(args=['input', 'blank', 'name'], varargs=None, keywords=None, defaults=(None,)), ('document', '2bc3a59efa9d52b628a6255422d9f0e8')) -paddle.fluid.layers.edit_distance (ArgSpec(args=['input', 'label', 'normalized', 'ignored_tokens'], varargs=None, keywords=None, defaults=(True, None)), ('document', '97f0262f97602644c83142789d784571')) +paddle.fluid.layers.edit_distance (ArgSpec(args=['input', 'label', 'normalized', 'ignored_tokens'], varargs=None, keywords=None, defaults=(True, None)), ('document', 'f2c252aa2f83f8e503ffaf79668eaa28')) paddle.fluid.layers.l2_normalize (ArgSpec(args=['x', 'axis', 'epsilon', 'name'], varargs=None, keywords=None, defaults=(1e-12, None)), ('document', '35c6a241bcc1a1fc89508860d82ad62b')) paddle.fluid.layers.matmul (ArgSpec(args=['x', 'y', 'transpose_x', 'transpose_y', 'alpha', 'name'], varargs=None, keywords=None, defaults=(False, False, 1.0, None)), ('document', 'aa27ca4405e70c6a733cb9806a76af30')) paddle.fluid.layers.topk (ArgSpec(args=['input', 'k', 'name'], varargs=None, keywords=None, defaults=(None,)), ('document', '2a1e9ea041ff4d6a9948bb8d03b743ea')) diff --git a/python/paddle/fluid/layers/nn.py b/python/paddle/fluid/layers/nn.py index b0777217cf9..9c947cce543 100644 --- a/python/paddle/fluid/layers/nn.py +++ b/python/paddle/fluid/layers/nn.py @@ -5297,7 +5297,7 @@ def topk(input, k, name=None): def edit_distance(input, label, normalized=True, ignored_tokens=None): """ - EditDistance operator computes the edit distances between a batch of + Edit distance operator computes the edit distances between a batch of hypothesis strings and their references. Edit distance, also called Levenshtein distance, measures how dissimilar two strings are by counting the minimum number of operations to transform one string into anthor. @@ -5333,9 +5333,28 @@ def edit_distance(input, label, normalized=True, ignored_tokens=None): Examples: .. code-block:: python - x = fluid.layers.data(name='x', shape=[1], dtype='float32') - y = fluid.layers.data(name='y', shape=[1], dtype='float32') - cost = fluid.layers.edit_distance(input=x,label=y) + import paddle.fluid as fluid + x = fluid.layers.data(name='x', shape=[1], dtype='int64') + y = fluid.layers.data(name='y', shape=[1], dtype='int64') + cost, _ = fluid.layers.edit_distance(input=x, label=y) + + cpu = fluid.core.CPUPlace() + exe = fluid.Executor(cpu) + exe.run(fluid.default_startup_program()) + + import numpy + x_ = numpy.random.randint(5, size=(2, 1)).astype('int64') + y_ = numpy.random.randint(5, size=(2, 1)).astype('int64') + + print(x_) + print(y_) + + x = fluid.create_lod_tensor(x_, [[2]], cpu) + y = fluid.create_lod_tensor(y_, [[2]], cpu) + + outs = exe.run(feed={'x':x, 'y':y}, fetch_list=[cost.name]) + + print(outs) """ helper = LayerHelper("edit_distance", **locals()) -- GitLab