I\'m quite confused about whether to use tf.nn.dropout or tf.layers.dropout.
many MNIST CNN examples seems to use tf.nn.droput, with keep_prop as one of params.
On the training phase they are identical (as long as "drop rate" and "keep rate" are consistent). However, for evaluation (test) phase they are completely different. tf.nn.dropout will still do random dropping while tf.layers.dropout won't drop anything (transparent layer). In most cases it make sense to use tf.layers.dropout.