我在TensorFlow文档中读到了下面这句话:
除了 tf.Variable 之外,张量的值是不可变的,这意味着在单次执行的上下文中张量仅具有单个值。然而,对同一个张量求值两次可能会返回不同的值;例如,张量可以是从磁盘读取数据或生成随机数的结果。
有人可以详细说明一下张量的“不可变”方面吗?
张量与变量不同,可以与数学方程进行比较。
当你说一个张量等于 2+2 时,它的值实际上并不是 4,而是计算指令导致了 2+2 的值,当你启动一个会话并执行它时,TensorFlow 会运行返回值所需的计算2+2 并给出输出。由于张量是计算而不是结果,所以张量是不可变的
现在回答您的问题:
通过说张量可以用不同的值来评估,这意味着如果你说一个张量等于一个随机数,当你运行它不同的时间时,你将得到不同的值(因为方程本身是一个随机的),但如前所述,张量本身的值不是值,而是导致它的步骤(在本例中是随机公式)
单次执行的上下文意味着当您运行张量时,它只会输出一个值。想象执行一个张量就像应用我提到的方程一样。如果我说一个张量等于随机+1,当你执行一次张量时,它会返回一个随机值+1,没有其他。但由于张量包含随机输出,如果多次运行它,很可能会得到不同的值
| 归档时间: |
|
| 查看次数: |
2975 次 |
| 最近记录: |