TensorFlow中的张量如何不可变?

疯狂的巴西人

我在TensorFlow文档中阅读了以下句子:

除了tf.Variable之外,张量的值是不可变的,这意味着在单个执行情况下,张量仅具有单个值。但是,对同一张量进行两次评估可能会返回不同的值。例如,张量可以是从磁盘读取数据或生成随机数的结果。

有人可以详细说明张量的“不变”方面吗?

  1. 由于两次评估张量可能返回不同的结果,因此“不变性的范围”是什么?
  2. “单次执行的上下文”是什么意思?
鲁道夫·多纳·霍斯

张量与变量不同,可以与数学方程式进行比较。

当您说一个张量等于2 + 2时,它的值实际上不是4,它是导致2 + 2值的计算指令,而当您开始一个会话并执行它时,TensorFlow会运行所需的计算来返回值2 + 2并提供输出。而且由于张量是计算的结果而不是结果,所以张量是不可变的

现在为您的问题:

  1. 说张量可以用不同的值求值,这意味着,例如,如果说张量等于一个随机数,则在不同的时间运行它时,您将拥有不同的值(因为等式本身是一个随机数),但如前所述,张量本身的值不是值,而是导致它的步骤(在这种情况下为随机公式)

  2. 单个执行的上下文意味着运行张量时,只会输出一个值。想像执行我提到的方程式那样执行张量。如果我说张量等于随机+ 1,当您一次执行张量时,它将返回一个随机值+1,除此之外没有其他值。但是由于张量包含随机输出,因此如果您多次运行它,则很可能会获得不同的值

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章