При запуске следующего сеанса с заданным входом
tf.reset_default_graph()
with tf.Session() as test:
np.random.seed(1)
A_prev = tf.placeholder("float", [3, 4, 4, 6])
X = np.random.randn(3, 4, 4, 6)
A = identity_block(A_prev, f = 2, filters = [2, 4, 6], stage = 1, block = 'a')
test.run(tf.global_variables_initializer())
out = test.run([A], feed_dict={A_prev: X, K.learning_phase(): 0})
print("out = " + str(out[0][1][1][0]))
У меня есть следующий вывод:
out = [ 0.94822985 0. 1.16101444 2.747859 0. 1.36677003]
из лекции (https://keras.io/backend/) У меня есть флаг фазы обучения - это тензор bool (0 = тест, 1 = поезд), который передается в качестве входных данных для любой функции Keras, которая использует другое поведение во время поезда и теста время.
Таким образом, при изменении тензора bool с 0 на 1 я получаю в качестве вывода:
out = [ 1.02308846 0. 0. 3.22687674 0. 1.3177458 ]
Но я действительно не понимаю, в чем разница во времени поезда или во время теста.
Почему при использовании в качестве тулера bool 0 или 1 я получаю другое значение? Ввод тот же ... Может кто-нибудь объяснить?
Tnx