Iterates over the time dimension of a tensor.
Arguments |
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. |