dropout 主要作用就是防止过拟合。
dropout 一般都是用在全连接中,在卷积部分不会用到 dropout ,输出层也不会用到,一般用在输入层与输出层之间。
在 tensorflow 中有两种形式:
(1)tf.nn.dropout(x, keep_prob, noise_shape = None, seed = None, name = None)
(2)tf.contrib.rnn.DropoutWrapper(rnn_cell, input_keep_prob)
一般情况下的 dropout :
def dropout(x, keep_prob, noise_shape=None, seed=None, name=None)
#x: 输入
#keep_prob: 名字代表的意思
#return:包装了dropout的x。训练的时候用,test的时候就不需要dropout了
#例:
w = tf.get_variable("w1",shape=[size, out_size])
x = tf.placeholder(tf.float32, shape=[batch_size, size])
x = tf.nn.dropout(x, keep_prob=0.5)
y = tf.matmul(x,w)
RNN 中的 dropout :
<

本文介绍了 TensorFlow 中如何使用 dropout 技术来防止过拟合。dropout 主要应用在全连接层,通常不用于卷积层和输出层,而是在输入层和输出层之间发挥作用。TensorFlow 提供了两种实现方式:tf.nn.dropout 和 tf.contrib.rnn.DropoutWrapper。
最低0.47元/天 解锁文章
1453

被折叠的 条评论
为什么被折叠?



