mul

paddle.fluid.layers. mul ( x, y, x_num_col_dims=1, y_num_col_dims=1, name=None ) [源代码]

mul算子 此运算是用于对输入x和y执行矩阵乘法。 公式是:

\[Out = x * y\]

输入x和y都可以携带LoD(详细程度)信息。但输出仅与输入x共享LoD信息。

参数

  • x (Variable) - 乘法运算的第一个输入张量Tensor/LoDTensor。

  • y (Variable) - 乘法运算的第二个输入张量Tensor/LoDTensor。

  • x_num_col_dims (int,可选) - 默认值1,可以将具有两个以上维度的张量作为输入。如果输入x是具有多于两个维度的张量,则输入x将先展平为二维矩阵。展平规则是:前 num_col_dims 将被展平成最终矩阵的第一个维度(矩阵的高度),其余的 rank(x) - num_col_dims 维度被展平成最终矩阵的第二个维度(矩阵的宽度)。结果是展平矩阵的高度等于x的前 x_num_col_dims 维数的乘积,展平矩阵的宽度等于x的最后一个 rank(x)- num_col_dims 个剩余维度的维数的乘积。例如,假设x是一个5-D张量,形状为(2,3,4,5,6),并且 x_num_col_dims 的值为3。则扁平化后的张量具有的形即为(2x3x4,5x6)=(24,30)。

  • y_num_col_dims (int,可选) - 默认值1,可以将具有两个以上维度的张量作为输入。如果输入y是具有多于两个维度的张量,则y将首先展平为二维矩阵。y_num_col_dims 属性确定y的展平方式。有关更多详细信息,请参阅 x_num_col_dims 的注释。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

Variable(Tensor)乘法运算输出张量。

返回类型

变量(Variable)。

代码示例

import paddle.fluid as fluid
import paddle
paddle.enable_static()
dataX = fluid.layers.data(name="dataX", append_batch_size = False, shape=[2, 5], dtype="float32")
dataY = fluid.layers.data(name="dataY", append_batch_size = False, shape=[5, 3], dtype="float32")
output = fluid.layers.mul(dataX, dataY,
                          x_num_col_dims = 1,
                          y_num_col_dims = 1)