在TensorFlow运行时中,如何复制张量?

时间:2017-06-16 06:52:59

标签: tensorflow

我正在阅读整个Tensorflow源代码,并且一直困惑于此。在Op中,我们可以获得输入张量的基础数据缓冲区并更改其值,但此更改不会反映在此op之外(输入不是Ref类型)。

例如,        y = op1(x)        z = op2(x) 在op1中,假设我们获取x的底层缓冲区并更改其值,但是当我运行y_val,z_val = sess.run([y,z])时,似乎这不会影响z的值(它真的是x变化,z应该改变。)

这里由于x张量由两个ops消耗,我最初认为也许张量流将x分成两个张量,一个作为op1的输入,另一个作为op2的输入。但是,我检查了代码,似乎没有。

另一种可能性是张量是写时复制,但在我检查代码之后似乎也没有。

任何人都知道这里到底发生了什么?非常感谢。

0 个答案:

没有答案