Вы можете передать заполнитель аргументу keep_prob
, равному tf.nn.dropout , чтобы можно было передавать произвольные показатели отсева во время выполнения:
# array of ones
data=np.ones((3,4), dtype=np.float32)
keep_prob = tf.placeholder(tf.float32)
drop = tf.nn.dropout(data, keep_prob=keep_prob)
sess = tf. InteractiveSession()
print(sess.run(drop, feed_dict={keep_prob: 0.5}))
# >>> [[0. 2. 0. 2.]
# [0. 2. 0. 0.]
# [2. 2. 2. 2.]]
print(sess.run(drop, feed_dict={keep_prob: 1.0}))
# >>> [[1. 1. 1. 1.]
# [1. 1. 1. 1.]
# [1. 1. 1. 1.]]
Что касается того, имеет ли это смысл или нет, то лучший способ убедиться в этом - провести серию экспериментов со статическими и различными показателями отсева, а затем сравнить результаты.