在tensorflow中,我可以使用Session.run
将输入映射到输出。假设我这样做:
b = sess.run(B,{A:a})
每次拨打此电话时,与b
关联的张量是否重新分配?我可以只存储指向b
的指针,并期望每次运行sess.run(B, {A:a})
时都会更新吗?
答案 0 :(得分:4)
每次调用sess.run()
作为NumPy数组时,都会分配结果张量。当前的API中没有办法在Python和TensorFlow后端之间共享存储,但如果您想分配存储一次并更新它,您可以使用tf.Variable
:
A = ...
B = tf.Variable()
assign_op = B.assign(some_function(A))
# ...
sess.run(assign_op.op, {A: a})
然后,当您想要检查B
时,您可以致电:
b = sess.run(B)
...获得当前值。