了解Keras功能-多线程?

了解Keras功能-多线程?,keras,Keras,我正在用tensorflow后端玩Keras函数。我试图理解我注意到的一种行为: 细节: A版输出: [[ 1.]] [[ 2.]] [[ 3.]] [[ 4.]] 但是,, 版本B输出不同的结果,看起来像线程(值可以不同): K.eval的K.eval是什么让这种情况有所不同? 谢谢 代码 基本inc函数 代码A 代码B Using TensorFlow backend. [array([[ 0.]], dtype=float32)] [array([[ 2.]], dtype=float3

我正在用
tensorflow
后端玩
Keras
函数。我试图理解我注意到的一种行为:

细节: A版输出:

[[ 1.]]
[[ 2.]]
[[ 3.]]
[[ 4.]]
但是,, 版本B输出不同的结果,看起来像线程(值可以不同):

K.eval的
K.eval
是什么让这种情况有所不同? 谢谢

代码 基本inc函数 代码A 代码B
Using TensorFlow backend.
[array([[ 0.]], dtype=float32)]
[array([[ 2.]], dtype=float32)]
[array([[ 3.]], dtype=float32)]
[array([[ 4.]], dtype=float32)]
def inc():
    updates = []
    counter = K.zeros((1,1))
    ones = K.ones(K.get_variable_shape(counter))
    updates.append(K.update_add(counter,ones))
    return updates,counter

updates, output = inc()

f_inc = K.function([],[output],updates=updates)
for i in range(1,5):
     f_inc([])
     print(K.eval(output))
for i in range(1,5):
     print(f_inc([]))