# tf.contrib.rnn.DropoutWrapper

### class tf.contrib.rnn.core_rnn_cell.DropoutWrapper

Operator adding dropout to inputs and outputs of the given cell.

## Methods

### __init__(cell, input_keep_prob=1.0, output_keep_prob=1.0, seed=None)

Create a cell with added input and/or output dropout.

Dropout is never used on the state.

#### Args:

• 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 float 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 float and 1, no output dropout will be added.
• seed: (optional) integer, the randomness seed.

#### Raises:

• TypeError: if cell is not an RNNCell.
• ValueError: if keep_prob is not between 0 and 1.

### zero_state(batch_size, dtype)

Return zero-filled state tensor(s).

#### Args:

• 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 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.