最近训练OCR网络出现了过拟合,多以对于dropout的值进行了考虑
经过查看相关帖子
https://www.cnblogs.com/2014-august/articles/10874284.html
网上有几种说法,一种是以p的概率保留,一种是以p的概率丢弃。
TensorFlow 实现是以p的概率保留,训练时以p的概率保留,并且以scale缩放剩下的权重,测试时设置为1。
例子。
#调用dropout函数
import tensorflow as tf
a = tf.Variable([1.0,2.0,3.0,4.5])
sess = tf.Session()
init_op = tf.global_variables_initializer()
sess.run(init_op)
a = tf.nn.dropout(a, 1.0)
print(sess.run(a))
1.0全部保留。可以更改值进行测试
设置为0.3 以0.3的几率保留适用于过拟合很大的情况,一般设置为0.5