您的位置:首页 > 移动开发

tf.nn.rnn_cell.DrououtWrapper函数的用法

2017-06-17 10:06 441 查看
tf.nn.rnn_cell.DrououtWrapper(cell, input_keep_prob=1.0, output_keep_prob=1.0)主要的参数就是三个,第一个就是输入的循环神经网络的cell,可以设定为BasicLSTMCell等等。第二个参数就是输入数据使用dropout,后面的概率,如果是一,就不会执行dropout。第三个参数是一样的意思。一般这里的dropout是在输入,输出,或者不用的循环层之间使用,或者全连接层,不会在同一层的循环体中使用。

例如:

import tensorflow as tf;
import numpy as np;

X = tf.random_normal(shape=[3,5,6], dtype=tf.float32)
X = tf.reshape(X, [-1, 5, 6])
cell = tf.nn.rnn_cell.BasicLSTMCell(10, state_is_tuple=True)
state = cell.zero_state(3, tf.float32)
cell_dr = tf.nn.rnn_cell.DropoutWrapper(cell, input_keep_prob=1.0, output_keep_prob=1.0)
output, state = tf.nn.dynamic_rnn(cell_dr, X, initial_state=state, time_major=False)
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: