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


Python tf.RaggedTensor.__add__用法及代碼示例


用法

__add__(
    y, name=None
)

參數

  • x 一個tf.Tensor。必須是以下類型之一:bfloat16、half、float32、float64、uint8、int8、int16、int32、int64、complex64、complex128、string。
  • y 一個tf.Tensor。必須與 x 具有相同的類型。
  • name 操作的名稱(可選)

返回 x + y 元素。

下麵的示例用法。

添加一個標量和一個列表:

x = [1, 2, 3, 4, 5]
y = 1
tf.add(x, y)
<tf.Tensor:shape=(5,), dtype=int32, numpy=array([2, 3, 4, 5, 6],
dtype=int32)>

請注意,可以使用二進製 + 運算符代替:

x = tf.convert_to_tensor([1, 2, 3, 4, 5])
y = tf.convert_to_tensor(1)
x + y
<tf.Tensor:shape=(5,), dtype=int32, numpy=array([2, 3, 4, 5, 6],
dtype=int32)>

添加一個張量和一個相同形狀的列表:

x = [1, 2, 3, 4, 5]
y = tf.constant([1, 2, 3, 4, 5])
tf.add(x, y)
<tf.Tensor:shape=(5,), dtype=int32,
numpy=array([ 2,  4,  6,  8, 10], dtype=int32)>

警告:如果輸入之一(xy)是張量,而另一個是非張量,則非張量輸入將采用(或轉換為)張量輸入的數據類型。這可能會導致不需要的上溢或下溢轉換。

例如,

x = tf.constant([1, 2], dtype=tf.int8)
y = [2**7 + 1, 2**7 + 2]
tf.add(x, y)
<tf.Tensor:shape=(2,), dtype=int8, numpy=array([-126, -124], dtype=int8)>

當添加兩個不同形狀的輸入值時,Add 遵循 NumPy 廣播規則。兩個輸入數組形狀按元素進行比較。從尾隨維度開始,這兩個維度或者必須相等,或者其中之一必須是 1

例如,

x = np.ones(6).reshape(1, 2, 1, 3)
y = np.ones(6).reshape(2, 1, 3, 1)
tf.add(x, y).shape.as_list()
[2, 2, 3, 3]

另一個具有兩個不同維度數組的示例。

x = np.ones([1, 2, 1, 4])
y = np.ones([3, 4])
tf.add(x, y).shape.as_list()
[1, 2, 3, 4]

此元素操作的縮減版本是tf.math.reduce_sum

相關用法


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