了解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([]))