Python TensorFlow中的张量是如何不变的?
我阅读了TensorFlow文档中的以下句子: 除了tf.Variable,张量的值是不可变的, 这意味着,在单个执行的上下文中,仅使用张量 只有一个值。然而,计算同一张量两次可以 返回不同的值;例如,张量可以是 从磁盘读取数据,或生成随机数 有人能详细说明一下张量的“不变”方面吗Python TensorFlow中的张量是如何不变的?,python,tensorflow,Python,Tensorflow,我阅读了TensorFlow文档中的以下句子: 除了tf.Variable,张量的值是不可变的, 这意味着,在单个执行的上下文中,仅使用张量 只有一个值。然而,计算同一张量两次可以 返回不同的值;例如,张量可以是 从磁盘读取数据,或生成随机数 有人能详细说明一下张量的“不变”方面吗 什么是“不变性的范围”,因为两次计算张量可能会得到不同的结果 “单个执行的上下文”是什么意思 张量不同于变量,可以比作数学方程 当你说张量等于2+2时,它的值实际上不是4,是计算指令导致了2+2的值,当你启动一个会话
张量不同于变量,可以比作数学方程 当你说张量等于2+2时,它的值实际上不是4,是计算指令导致了2+2的值,当你启动一个会话并执行它时,TensorFlow运行返回2+2值所需的计算,并给出输出。由于计算中使用的是张量,而不是结果,所以张量是不变的 现在回答您的问题:
很好的解释。谢谢更确切地说,张量的定义是不变的,也就是说,如果张量定义了一个方程x+y,它的值就是这个方程,这个方程是不变的。然而,当计算这个张量时,你可能会得到基于x和y的不同值?确切地说,当你建立一个张量时,TensorFlow基本上会建立一个数学模型来计算你想要的输出,因此,它是不变性的,因为张量本身的值不是你设置的结果,而是“为了输出用户告诉我的结果,我需要计算什么,如果您要求张量计算任意随机因子,多次执行可能会产生多个值,即使张量本身的值相同。为了更好地可视化,您可以尝试设置一个张量并简单地打印它,您会注意到您不会得到预期的值,您将看到对张量对象的引用。如果你想要它的结果,你需要打开一个会话并调用你的_tensor.run,在这一点上,它的计算将被实际执行并显示结果。它是一个非常快速的库的原因之一,因为代码不会得到不必要的执行。希望它能帮助您理解它背后的概念!它确实有用!谢谢!