當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.Variable.ref用法及代碼示例


用法

ref()

返回此變量的可散列引用對象。

此 API 的主要用例是將變量放入集合/字典中。我們不能將變量放在集合/字典中,因為從 Tensorflow 2.0 開始,variable.__hash__() 不再可用。

以下將引發從 2.0 開始的異常

x = tf.Variable(5)
y = tf.Variable(10)
z = tf.Variable(10)
variable_set = {x, y, z}
Traceback (most recent call last):

TypeError:Variable is unhashable. Instead, use tensor.ref() as the key.
variable_dict = {x:'five', y:'ten'}
Traceback (most recent call last):

TypeError:Variable is unhashable. Instead, use tensor.ref() as the key.

相反,我們可以使用 variable.ref()

variable_set = {x.ref(), y.ref(), z.ref()}
x.ref() in variable_set
True
variable_dict = {x.ref():'five', y.ref():'ten', z.ref():'ten'}
variable_dict[y.ref()]
'ten'

此外,引用對象提供了返回原始變量的.deref() 函數。

x = tf.Variable(5)
x.ref().deref()
<tf.Variable 'Variable:0' shape=() dtype=int32, numpy=5>

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.Variable.ref。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。