首先,我知道有一个相关问题已被问到here。TensorFlow变量和TensorFlow张量之间的实现差异
但是,这个问题是关于实现和内部。 我在读报纸“A Tour of TensorFlow”。以下两点是从那里报价:
1.
张量本身并不在内存中保留或存储值,但提供 只有一个接口,用于检索由张量参考值。
这表明对我来说张量是一个对象,它只是存储指向操作结果的指针,并且在检索张量的结果或值时,它只是取消引用该指针。
2.
变量可以被描述为持久的,可变的句柄存储在张量内存缓冲区。因此,变量的特点是一定的形状和固定的类型。
在此我感到困惑,因为我认为,基于前面的观点,张量器只是简单地存储一个指针。如果它们只是指针,它们也可以是可变的。
准确地说这是我的问题:
- 什么是“内存缓冲区”的含义是什么?
- “手柄”是什么意思?
- 我对张量内部的最初假设是否正确?
- 张量和变量之间的基本内部实现差异是什么?为什么他们声明不同,为什么这种差异对TensorFlow至关重要?
这是一个非常翔实的解释和感谢它。 如果我理解正确,张量的只读状态很有用,因为它们用于表示对模型的最终状态不感兴趣的中间操作。 这就是为什么我们将卷积参数的内核存储为tf.Variable,以便稍后可以在更新期间写入并稍后存储的原因? – Ujjwal