tf.nn.rnn_cell.DroupoutWrapper(cell, input_keep_prob=1.0, output_keep_prob=1.0)
主要的参数就是三个
第一个就是输入的循环神经网络的cell,可以设定为BasicLSTMCell等等。
第二个参数就是输入数据使用dropout,后面的概率,如果是一,就不会执行dropout。
第三个参数是输出数据使用dropout,后面的概率,如果是一,就不会执行dropout.
一般这里的dropout是在输入,输出,或者不用的循环层之间使用,或者全连接层,不会在同一层的循环体中使用。
因此,基于tf 的最基本的 rnn (或者说static_rnn)代码是下面这样的:
cell = SomeRnnCell(...)
state = cell.zero_state(...)
outputs = []
with tf.variable_scope("scope_name"):