Skip to content

Commit 18911b6

Browse files
[enhence] Make step_input of dynamic_rnn support custom lod level. (#15972)
* Make step_input support custom lod level. test=develop * Fix API.spec test=develop * Fix API.spec. test=develop * Fix API.spec test=develop * Add default value in document of step_input. test=develop * Fix document. test=develop * Fix API.spec test=develop
1 parent d3acf68 commit 18911b6

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

paddle/fluid/API.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ paddle.fluid.layers.DynamicRNN.block (ArgSpec(args=['self'], varargs=None, keywo
277277
paddle.fluid.layers.DynamicRNN.memory (ArgSpec(args=['self', 'init', 'shape', 'value', 'need_reorder', 'dtype'], varargs=None, keywords=None, defaults=(None, None, 0.0, False, 'float32')), ('document', 'b9174d4e91505b0c8ecc193eb51e248d'))
278278
paddle.fluid.layers.DynamicRNN.output (ArgSpec(args=['self'], varargs='outputs', keywords=None, defaults=None), ('document', 'b439a176a3328de8a75bdc5c08eece4a'))
279279
paddle.fluid.layers.DynamicRNN.static_input (ArgSpec(args=['self', 'x'], varargs=None, keywords=None, defaults=None), ('document', 'f29ad2478b6b2ad4f413d2936a331ea0'))
280-
paddle.fluid.layers.DynamicRNN.step_input (ArgSpec(args=['self', 'x'], varargs=None, keywords=None, defaults=None), ('document', '169d694d2224f62b4f3afdc3dbc19e95'))
280+
paddle.fluid.layers.DynamicRNN.step_input (ArgSpec(args=['self', 'x', 'level'], varargs=None, keywords=None, defaults=(0,)), ('document', '7568c5ac7622a10288d3307a94134655'))
281281
paddle.fluid.layers.DynamicRNN.update_memory (ArgSpec(args=['self', 'ex_mem', 'new_mem'], varargs=None, keywords=None, defaults=None), ('document', '5d83987da13b98363d6a807a52d8024f'))
282282
paddle.fluid.layers.StaticRNN.__init__ (ArgSpec(args=['self', 'name'], varargs=None, keywords=None, defaults=(None,)), ('document', '6adf97f83acf6453d4a6a4b1070f3754'))
283283
paddle.fluid.layers.StaticRNN.memory (ArgSpec(args=['self', 'init', 'shape', 'batch_ref', 'init_value', 'init_batch_dim_idx', 'ref_batch_dim_idx'], varargs=None, keywords=None, defaults=(None, None, None, 0.0, 0, 1)), ('document', 'c24e368e23afac1ed91a78a639d7a9c7'))

python/paddle/fluid/layers/control_flow.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1448,12 +1448,13 @@ def __init__(self, name=None):
14481448
self.input_array = []
14491449
self.mem_link = []
14501450

1451-
def step_input(self, x):
1451+
def step_input(self, x, level=0):
14521452
"""
14531453
Mark a sequence as a dynamic RNN input.
14541454
14551455
Args:
14561456
x(Variable): The input sequence.
1457+
level(int): The level of lod used to split steps. Default: 0.
14571458
14581459
Returns:
14591460
The current timestep in the input sequence.
@@ -1471,7 +1472,8 @@ def step_input(self, x):
14711472
parent_block.append_op(
14721473
type='lod_rank_table',
14731474
inputs={"X": x},
1474-
outputs={"Out": self.lod_rank_table})
1475+
outputs={"Out": self.lod_rank_table},
1476+
attrs={"level": level})
14751477
self.max_seq_len = parent_block.create_var(
14761478
name=unique_name.generate('dynamic_rnn_max_seq_len'),
14771479
dtype='int64')

0 commit comments

Comments
 (0)