【问题标题】:In Tensorflow, what is the difference between a tensor that has a type ending in _ref and a tensor that does not?在 Tensorflow 中,类型以 _ref 结尾的张量和不以 _ref 结尾的张量有什么区别?
【发布时间】:2016-10-23 20:16:48
【问题描述】:

文档说:

此外,这些类型的变体带有 _ref 后缀被定义 用于引用类型的张量。

这究竟是什么意思?什么是引用类型张量,它们与标准张量有何不同?

【问题讨论】:

  • 如果variable.dtypetf.float32_ref 那么tf.dtype.base_dtypetf.float32

标签: tensorflow


【解决方案1】:

引用类型的张量是可变的。创建引用类型张量的最常见方法是定义一个tf.Variable:定义一个初始值为dtype tf.float32tf.Variable 将创建一个dtype 为tf.float32_ref 的引用类型张量。您可以通过将引用类型的张量作为第一个参数传递给 tf.assign() 来改变它。

(请注意,在当前版本的 TensorFlow 中,引用类型的张量是一种实现细节。我们鼓励您使用更高级别的包装器,例如 tf.Variable,它可能会迁移到可变状态的替代表示未来。)

【讨论】:

  • tf.assign() 没有任何文档,是故意的吗?
  • 这是半有意的。我们鼓励使用tf.Variable.assign() 而不是tf.assign(),但有一些用例(特别是链式分配)仅适用于tf.assign(),因此我们无法完全删除它。
猜你喜欢
  • 2016-05-12
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
  • 2019-03-11
相关资源
最近更新 更多