class tf.contrib.rnn.AttentionCellWrapper
See the guide: RNN and Cells (contrib) > Core RNN Cell wrappers (RNNCells that wrap other RNNCells)
Basic attention cell wrapper.
Implementation based on https://arxiv.org/abs/1409.0473.
output_size
state_size
__init__(cell, attn_length, attn_size=None, attn_vec_size=None, input_size=None, state_is_tuple=False)
Create a cell with attention.
cell
: an RNNCell, an attention is added to it.attn_length
: integer, the size of an attention window.attn_size
: integer, the size of an attention vector. Equal to cell.output_size by default.attn_vec_size
: integer, the number of convolutional features calculated on attention state and a size of the hidden layer built from base cell state. Equal attn_size to by default.input_size
: integer, the size of a hidden linear layer, built from inputs and attention. Derived from the input tensor by default.state_is_tuple
: If True, accepted and returned states are n-tuples, where n = len(cells)
. By default (False), the states are all concatenated along the column axis.TypeError
: if cell is not an RNNCell.ValueError
: if cell returns a state tuple but the flag state_is_tuple
is False
or if attn_length is zero or less.zero_state(batch_size, dtype)
Return zero-filled state tensor(s).
batch_size
: int, float, or unit Tensor representing the batch size.dtype
: the data type to use for the state.If state_size
is an int or TensorShape, then the return value is a N-D
tensor of shape [batch_size x state_size]
filled with zeros.
If state_size
is a nested list or tuple, then the return value is a nested list or tuple (of the same structure) of 2-D
tensors with the shapes [batch_size x s]
for each s in state_size
.
Defined in tensorflow/contrib/rnn/python/ops/rnn_cell.py
.
© 2017 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/AttentionCellWrapper