Iterates over the time dimension of a tensor.
View aliases
Compat aliases for migration
See
Migration guide for
more details.
`tf.compat.v1.keras.backend.rnn`
tf.keras.backend.rnn(
step_function,
inputs,
initial_states,
go_backwards=False,
mask=None,
constants=None,
unroll=False,
input_length=None,
time_major=False,
zero_output_for_mask=False,
return_all_outputs=True
)
Args |
step_function
|
RNN step function.
Args;
input; Tensor with shape (samples, ...) (no time dimension),
representing input for the batch of samples at a certain
time step.
states; List of tensors.
Returns;
output; Tensor with shape (samples, output_dim)
(no time dimension).
new_states; List of tensors, same length and shapes
as 'states'. The first state in the list must be the
output tensor at the previous timestep.
|
inputs
|
Tensor of temporal data of shape (samples, time, ...)
(at least 3D), or nested tensors, and each of which has shape
(samples, time, ...) .
|
initial_states
|
Tensor with shape (samples, state_size)
(no time dimension), containing the initial values for the states
used in the step function. In the case that state_size is in a
nested shape, the shape of initial_states will also follow the
nested structure.
|
go_backwards
|
Boolean. If True, do the iteration over the time
dimension in reverse order and return the reversed sequence.
|
mask
|
Binary tensor with shape (samples, time, 1) ,
with a zero for every element that is masked.
|
constants
|
List of constant values passed at each step.
|
unroll
|
Whether to unroll the RNN or to use a symbolic while_loop .
|
input_length
|
An integer or a 1-D Tensor, depending on whether
the time dimension is fixed-length or not. In case of variable
length input, it is used for masking in case there's no mask
specified.
|
time_major
|
Boolean. If true, the inputs and outputs will be in shape
(timesteps, batch, ...) , whereas in the False case, it will be
(batch, timesteps, ...) . Using time_major = True is a bit more
efficient because it avoids transposes at the beginning and end of
the RNN calculation. However, most TensorFlow data is batch-major,
so by default this function accepts input and emits output in
batch-major form.
|
zero_output_for_mask
|
Boolean. If True, the output for masked timestep
will be zeros, whereas in the False case, output from previous
timestep is returned.
|
return_all_outputs
|
Boolean. If True, return the recurrent outputs for
all timesteps in the sequence. If False, only return the output for
the last timestep (which consumes less memory).
|
Returns |
A tuple, (last_output, outputs, new_states) .
last_output: the latest output of the rnn, of shape (samples, ...)
outputs:
- If `return_all_outputs=True`: a tensor with shape
`(samples, time, ...)` where each entry `outputs[s, t]` is the
output of the step function at time `t` for sample `s`
- Else, a tensor equal to `last_output` with shape
`(samples, 1, ...)`
new_states: list of tensors, latest states returned by
the step function, of shape (samples, ...) .
|
Raises |
ValueError
|
if input dimension is less than 3.
|
ValueError
|
if unroll is True but input timestep is not a fixed
number.
|
ValueError
|
if mask is provided (not None ) but states is not
provided (len(states) == 0).
|