tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None)
Type: function
Docstring: Computes dropout.
With probability keep_prob, outputs the input element scaled up by 1 / keep_prob, otherwise outputs 0. The scaling is so that the expected sum is unchanged.
By default, each element is kept or dropped independently. If noise_shape is specified, it must be broadcastable
to the shape of x, and only dimensions with noise_shape[i] == shape(x)[i] will make independent decisions. For example, if shape(x) = [k, l, m, n] and noise_shape = [k, 1, 1, n], each batch and channel component will be kept independently and each row and column will be kept or not kept together.
Args:
x: A tensor.
keep_prob: A scalar Tensor with the same type as x. The probability that each element is kept.
noise_shape: A 1-D Tensor of type int32, representing the shape for randomly generated keep/drop flags.
seed: A Python integer. Used to create random seeds. See @{tf.set_random_seed} for behavior.
name: A name for this operation (optional).
Returns:
A Tensor of the same shape of x.
Raises:
ValueError: If keep_prob is not in (0, 1].
example:
import tensorflow as tf
import numpy as np
# 神经元输入值
neuros = np.array([1, 1, 1, 1],dtype=np.float32)
# 接入dropout层
neuros_drop = tf.nn.dropout(neuros, keep_prob=0.5)
with tf.Session() as sess:
neuros_drop_res = sess.run(neuros_drop)
print(neuros_drop_res)
[ 0. 2. 2. 2.]
