我在 TensorFlow 文档中读到以下句子:
With the exception of tf.Variable, the value of a tensor is immutable, which means that in the context of a single execution tensors only have a single value. However, evaluating the same tensor twice can return different values; for example that tensor can be the result of reading data from disk, or generating a random number.
有人可以详细说明张量的“不可变”方面吗?
- “不变性的范围”是什么,因为两次评估张量可能会返回不同的结果?
- “单次执行的上下文”是什么意思?
请您参考如下方法:
与变量不同,张量可以比作数学方程式。
当你说一个张量等于 2+2 时,它的值实际上不是 4,它是导致 2+2 值的计算指令,当你开始一个 session 并执行它时,TensorFlow 运行返回所需的计算2+2 的值并为您提供输出。并且因为计算的是张量,而不是结果,所以张量是不可变的
现在回答您的问题:
说张量可以用不同的值求值,这意味着如果你说张量等于一个随机数,当你运行它不同的时间时,你将有不同的值(如方程本身是随机的),但如前所述张量本身的值,不是值,是导致它的步骤(在这种情况下是随机公式)
单次执行的上下文意味着当你运行一个张量时,它只会输出一个值。想想像应用我提到的方程式一样执行张量。如果我说一个张量等于 random + 1,当你执行一次张量时,它会返回一个随机值 +1,没有别的。但是由于张量包含随机输出,如果多次运行它,很可能会得到不同的值
