【发布时间】:2016-10-23 20:16:48
【问题描述】:
文档说:
此外,这些类型的变体带有 _ref 后缀被定义 用于引用类型的张量。
这究竟是什么意思?什么是引用类型张量,它们与标准张量有何不同?
【问题讨论】:
-
如果
variable.dtype是tf.float32_ref那么tf.dtype.base_dtype是tf.float32
标签: tensorflow
文档说:
此外,这些类型的变体带有 _ref 后缀被定义 用于引用类型的张量。
这究竟是什么意思?什么是引用类型张量,它们与标准张量有何不同?
【问题讨论】:
variable.dtype 是tf.float32_ref 那么tf.dtype.base_dtype 是tf.float32
标签: tensorflow
引用类型的张量是可变的。创建引用类型张量的最常见方法是定义一个tf.Variable:定义一个初始值为dtype tf.float32 的tf.Variable 将创建一个dtype 为tf.float32_ref 的引用类型张量。您可以通过将引用类型的张量作为第一个参数传递给 tf.assign() 来改变它。
(请注意,在当前版本的 TensorFlow 中,引用类型的张量是一种实现细节。我们鼓励您使用更高级别的包装器,例如 tf.Variable,它可能会迁移到可变状态的替代表示未来。)
【讨论】:
tf.assign() 没有任何文档,是故意的吗?
tf.Variable.assign() 而不是tf.assign(),但有一些用例(特别是链式分配)仅适用于tf.assign(),因此我们无法完全删除它。