目录
tf.keras.layers.Dropout的作用
tf.keras.layers.Dropout可以按照一定频率,随机地将输入的中的一些节点数值设置为0,可以防止过拟合。
比如输入有10个节点,tf.keras.layers.Dropout随机频率rate = 0.3。则运行10次,大概有3次会将输入中的一些值设置为0。如果输入有2个节点设置为0,则剩余的数值会乘以1/(1-rate),保持所有输入数值的总和一样。
tf.keras.layers.Dropout层中没有需要学习的参数,只在训练过程中其作用,在推理过程中不应该起作用。
tf.keras.layers.Dropout使用示例
import tensorflow as tf
import numpy as np
layer = tf.keras.layers.Dropout(0.3, input_shape=(10,), name='dropout_1')
x = np.array([1,2,3,4,5,6,7,8,9,10]).astype(np.float32)
print('before expand:{}'.format(x.shape)