cross

paddle.fluid.layers.cross(input, other, dim=None)[源代码]

该OP返回在 dim 维度上,两个张量 inputother 的向量积(叉积)。 inputother 必须有相同的形状, 且指定的 dim 维上 size 必须为3,如果 dim 未指定,默认选取第一个 size 等于3的维度。

参数

  • input (Variable)– 第一个输入张量。
  • other (Variable)– 第二个输入张量。
  • dim (int, optional) – 沿着此维进行叉积操作,若未指定,则默认选取第一个 size 等于3的维度

返回

  • Variable ,数据类型同输入。

代码示例

import paddle
import paddle.fluid as fluid
import numpy as np

data_x = np.array([[1.0, 1.0, 1.0],
                   [2.0, 2.0, 2.0],
                   [3.0, 3.0, 3.0]])
data_y = np.array([[1.0, 1.0, 1.0],
                   [1.0, 1.0, 1.0],
                   [1.0, 1.0, 1.0]])

with fluid.dygraph.guard():
    x = fluid.dygraph.to_variable(data_x)
    y = fluid.dygraph.to_variable(data_y)
    out_z1 = fluid.layers.cross(x, y)
    print(out_z1.numpy())
    #[[-1. -1. -1.]
    # [ 2.  2.  2.]
    # [-1. -1. -1.]]
    out_z2 = fluid.layers.cross(x, y, dim=1)
    print(out_z2.numpy())
    #[[0. 0. 0.]
    # [0. 0. 0.]
    # [0. 0. 0.]]