当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.math.add用法及代码示例


返回 x + y 元素。

用法

tf.math.add(
    x, y, name=None
)

参数

  • x 一个tf.Tensor。必须是以下类型之一:bfloat16、half、float32、float64、uint8、int8、int16、int32、int64、complex64、complex128、string。
  • y 一个tf.Tensor。必须与 x 具有相同的类型。
  • name 操作的名称(可选)

下面的示例用法。

添加一个标量和一个列表:

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.math.add。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。