tensorflow:tf.nn.dropout和tf.layers.dropout之间的区别是什么

ntu*_*uty 22 tensorflow

我对是否使用tf.nn.dropout或tf.layers.dropout感到很困惑.

许多MNIST CNN示例似乎使用tf.nn.droput,其中keep_prop是params之一.

但它与tf.layers.dropout的不同之处是什么?是tf.layers.dropout中的"rate"参数类似于tf.nn.dropout?

或者一般来说,tf.nn.dropout和tf.layers.dropout之间的区别是适用于所有其他类似情况,例如tf.nn和tf.layers中的类似函数.

nik*_*pod 34

快速浏览 tensorflow/python/layers/core.pytensorflow/python/ops/nn_ops.py可以看出tf.layers.dropout是一个包装器tf.nn.dropout.

这两个函数的唯一区别是:

  1. tf.nn.dropout具有参数keep_prob:"概率使得每个元件保持为"
    tf.layers.dropout具有参数rate:"的丢包率"
    .因此,keep_prob = 1 - rate定义在这里
  2. tf.layers.dropouttraining参数:"是否返回在训练模式下输出(申请退学)或推理模式(返回输入不变)."