multiply
逐元素相乘算子,输入 x 与输入 y 逐元素相乘,并将各个位置的输出元素保存到返回结果中。
等式是:
\(X\):多维 Tensor。
\(Y\):维度必须小于等于 X 维度的 Tensor。
对于这个运算算子有 2 种情况:
\(Y\) 的
shape与 \(X\) 相同。\(Y\) 的
shape是 \(X\) 的连续子序列。输入
x与输入y必须可以广播为相同形状,关于广播规则,请参见 Tensor 介绍 .
备注
别名支持: 参数名 input 可替代 x, other 可替代 y;
参数
x (Tensor)- 多维
Tensor。数据类型为bfloat16、float16、float32、float64、int32、int64、bool、complex64或complex128。别名:inputy (Tensor)- 多维
Tensor。数据类型为bfloat16、float16、float32、float64、int32、int64、bool、complex64或complex128。别名:othername (str,可选) - 具体用法请参见 api_guide_Name,一般无需设置,默认值为 None。
out (Tensor,可选)- 输出的结果。该参数为仅关键字参数,默认值为 None。
关键字参数
out (Tensor,可选) - 输出 Tensor,若不为
None,计算结果将保存在该 Tensor 中,默认值为None。
返回
Tensor,存储运算后的结果。如果 x 和 y 有不同的 shape 且是可以广播的,返回 Tensor 的 shape 是 x 和 y 经过广播后的 shape。如果 x 和 y 有相同的 shape,返回 Tensor 的 shape 与 x,y 相同。
代码示例
>>> import paddle
>>> x = paddle.to_tensor([[1, 2], [3, 4]])
>>> y = paddle.to_tensor([[5, 6], [7, 8]])
>>> res = paddle.multiply(x, y)
>>> print(res)
Tensor(shape=[2, 2], dtype=int64, place=Place(cpu), stop_gradient=True,
[[5 , 12],
[21, 32]])
>>> x = paddle.to_tensor([[[1, 2, 3], [1, 2, 3]]])
>>> y = paddle.to_tensor([2])
>>> res = paddle.multiply(x, y)
>>> print(res)
Tensor(shape=[1, 2, 3], dtype=int64, place=Place(cpu), stop_gradient=True,
[[[2, 4, 6],
[2, 4, 6]]])