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 ,数据类型同输入。

代码示例

  1. import paddle
  2. import paddle.fluid as fluid
  3. import numpy as np
  4. data_x = np.array([[1.0, 1.0, 1.0],
  5. [2.0, 2.0, 2.0],
  6. [3.0, 3.0, 3.0]])
  7. data_y = np.array([[1.0, 1.0, 1.0],
  8. [1.0, 1.0, 1.0],
  9. [1.0, 1.0, 1.0]])
  10. with fluid.dygraph.guard():
  11. x = fluid.dygraph.to_variable(data_x)
  12. y = fluid.dygraph.to_variable(data_y)
  13. out_z1 = fluid.layers.cross(x, y)
  14. print(out_z1.numpy())
  15. #[[-1. -1. -1.]
  16. # [ 2. 2. 2.]
  17. # [-1. -1. -1.]]
  18. out_z2 = fluid.layers.cross(x, y, dim=1)
  19. print(out_z2.numpy())
  20. #[[0. 0. 0.]
  21. # [0. 0. 0.]
  22. # [0. 0. 0.]]