测试时间和训练时间的差异

时间:2018-11-07 07:07:53

标签: keras conv-neural-network

使用给定的输入运行以下会话时

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

0 个答案:

没有答案