cell: an RNNCell, a projection to output_size is added to it.
input_keep_prob: unit Tensor or float between 0 and 1, input keep probability; if it is constant and 1, no input dropout will be added.
output_keep_prob: unit Tensor or float between 0 and 1, output keep probability; if it is constant and 1, no output dropout will be added.
state_keep_prob: unit Tensor or float between 0 and 1, output keep probability; if it is constant and 1, no output dropout will be added. State dropout is performed on the outgoing states of the cell.?Note?the state components to which dropout is applied when?state_keep_prob?is in?(0, 1)?are also determined by the argumentdropout_state_filter_visitor?(e.g. by default dropout is never applied to the?c?component of an?LSTMStateTuple).
variational_recurrent: Python bool. If?True, then the same dropout pattern is applied across all time steps per run call. If this parameter is set,?input_size?must?be provided.
input_size: (optional) (possibly nested tuple of)?TensorShape?objects containing the depth(s) of the input tensors expected to be passed in to the?DropoutWrapper. Required and used?iff?variational_recurrent = True?and?input_keep_prob < 1.
dtype: (optional) The?dtype?of the input, state, and output tensors. Required and used?iffvariational_recurrent = True.
seed: (optional) integer, the randomness seed.
dropout_state_filter_visitor: (optional), default: (see below). Function that takes any hierarchical level of the state and returns a scalar or depth=1 structure of Python booleans describing which terms in the state should be dropped out. In addition, if the function returns?True, dropout is applied across this sublevel. If the function returns?False, dropout is not applied across this entire sublevel. Default behavior: perform dropout on all terms except the memory (c) state of?LSTMCellState?objects, and don't try to apply dropout to?TensorArray?objects:?def dropout_state_filter_visitor(s): if isinstance(s, LSTMCellState): # Never perform dropout on the c state. return LSTMCellState(c=False, h=True) elif isinstance(s, TensorArray): return False return True
**kwargs: dict of keyword arguments for base layer.
cells: list of RNNCells that will be composed in this order.
state_is_tuple: If True, accepted and returned states are n-tuples, where?n = len(cells). If False, the states are all concatenated along the column axis. This latter behavior will soon be deprecated.
batch_size: int, float, or unit Tensor representing the batch size.
dtype: the data type to use for the state.
?
Returns:
If?state_size?is an int or TensorShape, then the return value is a?N-D?tensor of shape?[batch_size, 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-Dtensors with the shapes?[batch_size, s]?for each s in?state_size.