Tensorflow学习笔记(2):tf.nn.dropout 与 tf.layers.dropout
A quick glance through tensorflow/python/layers/core.py and tensorflow/python/ops/nn_ops.pyreveals
that tf.layers.dropout
is
a wrapper for tf.nn.dropout
.
You want to use the dropout() function in tensorflow.contrib.layers, not the one in tensorflow.nn.
The only differences in the two functions are:
-
The
tf.nn.dropout
has parameterkeep_prob
: "Probability that each element is kept"tf.layers.dropout
has parameterrate
: "The dropout rate"
Thus,keep_prob = 1 - rate
as defined here -
The
tf.layers.dropout
hastraining
parameter: "Whether to return the output in training mode (apply dropout) or in inference mode (return the input untouched)." The first one turns off(no-op) when not training, which is what you want, while the sec‐ond one does not.
努力奋斗的小墨鱼 ---- http://www.cnblogs.com/WayneZeng/