用法
ref()
返回此張量的可散列引用對象。
此 API 的主要用例是將張量放入集合/字典中。我們不能將張量放在集合/字典中,因為從 Tensorflow 2.0 開始,tensor.__hash__()
不再可用。
以下將引發從 2.0 開始的異常
x = tf.constant(5)
y = tf.constant(10)
z = tf.constant(10)
tensor_set = {x, y, z}
Traceback (most recent call last):
TypeError:Tensor is unhashable. Instead, use tensor.ref() as the key.
tensor_dict = {x:'five', y:'ten'}
Traceback (most recent call last):
TypeError:Tensor is unhashable. Instead, use tensor.ref() as the key.
相反,我們可以使用 tensor.ref()
。
tensor_set = {x.ref(), y.ref(), z.ref()}
x.ref() in tensor_set
True
tensor_dict = {x.ref():'five', y.ref():'ten', z.ref():'ten'}
tensor_dict[y.ref()]
'ten'
此外,參考對象提供了返回原始張量的.deref()
函數。
x = tf.constant(5)
x.ref().deref()
<tf.Tensor:shape=(), dtype=int32, numpy=5>
相關用法
- Python tf.Tensor.__rsub__用法及代碼示例
- Python tf.Tensor.__lt__用法及代碼示例
- Python tf.Tensor.set_shape用法及代碼示例
- Python tf.Tensor.__abs__用法及代碼示例
- Python tf.Tensor.__getitem__用法及代碼示例
- Python tf.Tensor.__ge__用法及代碼示例
- Python tf.Tensor.__rmatmul__用法及代碼示例
- Python tf.Tensor.__bool__用法及代碼示例
- Python tf.Tensor.get_shape用法及代碼示例
- Python tf.Tensor.__xor__用法及代碼示例
- Python tf.Tensor.__sub__用法及代碼示例
- Python tf.Tensor.__rpow__用法及代碼示例
- Python tf.Tensor.__gt__用法及代碼示例
- Python tf.Tensor.__le__用法及代碼示例
- Python tf.Tensor.__pow__用法及代碼示例
- Python tf.Tensor.__matmul__用法及代碼示例
- Python tf.TensorSpec.from_spec用法及代碼示例
- Python tf.Tensor用法及代碼示例
- Python tf.TensorSpec.from_tensor用法及代碼示例
- Python tf.TensorShape.merge_with用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.Tensor.ref。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。