From 5fc2cfbaf4d4c57211e3e876079684dfc2b8d35f Mon Sep 17 00:00:00 2001 From: huzhiqiang <912790387@qq.com> Date: Thu, 10 Oct 2019 20:26:49 +0800 Subject: [PATCH] modify map_reader en test=develop (#20229) * modify map_reader en test=develop --- paddle/fluid/API.spec | 2 +- python/paddle/reader/decorator.py | 32 +++++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/paddle/fluid/API.spec b/paddle/fluid/API.spec index 96f6fe97734..5208ad17d89 100644 --- a/paddle/fluid/API.spec +++ b/paddle/fluid/API.spec @@ -94,7 +94,7 @@ paddle.fluid.io.DataLoader.__init__ paddle.fluid.io.DataLoader.from_dataset (ArgSpec(args=['dataset', 'places', 'drop_last'], varargs=None, keywords=None, defaults=(True,)), ('document', 'eb8b6d31e1c2ec2ca8ebbb62fcf46557')) paddle.fluid.io.DataLoader.from_generator (ArgSpec(args=['feed_list', 'capacity', 'use_double_buffer', 'iterable', 'return_list'], varargs=None, keywords=None, defaults=(None, None, True, True, False)), ('document', 'e3bdde36774236c3e381d2218e9cc09e')) paddle.fluid.io.cache (ArgSpec(args=['reader'], varargs=None, keywords=None, defaults=None), ('document', '1676886070eb607cb608f7ba47be0d3c')) -paddle.fluid.io.map_readers (ArgSpec(args=['func'], varargs='readers', keywords=None, defaults=None), ('document', '77cbadb09df588e21e5cc0819b69c87d')) +paddle.fluid.io.map_readers (ArgSpec(args=['func'], varargs='readers', keywords=None, defaults=None), ('document', '2d0903e1d2f00b4f1d6618e6b5310121')) paddle.fluid.io.buffered (ArgSpec(args=['reader', 'size'], varargs=None, keywords=None, defaults=None), ('document', '0d6186f109feceb99f60ec50a0a624cb')) paddle.fluid.io.compose (ArgSpec(args=[], varargs='readers', keywords='kwargs', defaults=None), ('document', '884291104e1c3f37f33aae44b7deeb0d')) paddle.fluid.io.chain (ArgSpec(args=[], varargs='readers', keywords=None, defaults=None), ('document', 'e0311508658a7e741fc39feea8be0ad2')) diff --git a/python/paddle/reader/decorator.py b/python/paddle/reader/decorator.py index 926f53aab77..55a778b1969 100644 --- a/python/paddle/reader/decorator.py +++ b/python/paddle/reader/decorator.py @@ -61,13 +61,33 @@ def cache(reader): def map_readers(func, *readers): """ Creates a data reader that outputs return value of function using - output of each data readers as arguments. + output of each data reader as arguments. - :param func: function to use. The type of func should be (Sample) => Sample - :type: callable - :param readers: readers whose outputs will be used as arguments of func. - :return: the created data reader. - :rtype: callable + If input readers output the following data entries: 2 3, + and the input func is mul(x, y), + the output of the resulted reader will be 6. + + + Args: + func: a function to read data and compute result, the output of this function + will be set as the output of the resulted data reader. + readers (Reader|list of Reader): list of readers whose outputs will be used as arguments of func. + + Returns: + the resulted data reader (Reader) + + Examples: + + .. code-block:: python + + import paddle.reader + d = {"h": 0, "i": 1} + def func(x): + return d[x] + def reader(): + yield "h" + yield "i" + map_reader_result = paddle.reader.map_readers(func, reader) """ def reader(): -- GitLab