使用给定的输入运行以下会话时
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/中的我有一个学习阶段标志,是布尔张量(0 =测试,1 =火车),作为输入传递给在训练和测试时使用不同行为的任何Keras函数时间。
因此,当将布尔张量从0更改为1时,我的输出为:
out = [ 1.02308846 0. 0. 3.22687674 0. 1.3177458 ]
但是我真的不明白火车时间或测试时间有什么区别。 当用作布尔张量0或1时,为什么会有不同的输出?输入是相同的...有人可以解释吗? Tnx