tf.nn.dropout函数

tf.nn.dropout(
    x,
    keep_prob,
    noise_shape=None,
    seed=None,
    name=None
)

定义在:tensorflow/python/ops/nn_ops.py.

请参阅指南:层(contrib)>用于构建神经网络层的高级操作,神经网络>激活函数

该函数用于计算dropout.

使用概率keep_prob,输出按照1/keep_prob的比例放大输入元素,否则输出0.缩放是为了使预期的总和不变.

默认情况下,每个元素都是独立保留或删除的.如果已指定noise_shape,则必须将其广播为x的形状,并且只有具有noise_shape[i] == shape(x)[i]的维度才作出独立决定.

例如,如果shape(x) = [k, l, m, n]并且noise_shape = [k, 1, 1, n],则每个批处理和通道组件将独立保存,并且每个行和列将保留或不保留在一起.

参数:

  • x:一个浮点型Tensor.
  • keep_prob:一个标量Tensor,它与x具有相同类型.保留每个元素的概率.
  • noise_shape:类型为int32的1维Tensor,表示随机产生的保持/丢弃标志的形状.
  • seed:一个Python整数.用于创建随机种子.
  • name:此操作的名称(可选).

返回:

该函数返回与x具有相同形状的Tensor.

可能引发的异常:

  • ValueError:如果keep_prob不在(0, 1]或如果x不是浮点型Tensor.