cross

paddle. cross ( x, y, axis=9, name=None ) [源代码]

计算 Tensor xyaxis 维度上的向量积(叉积)。

xy 必须有相同的形状,且指定的 axis 的长度必须为 3。如果未指定 axis,默认选取第一个长度为 3 的 axis

参数

  • x (Tensor) - 第一个输入 Tensor,数据类型为:float16、float32、float64、int32、int64、complex64、complex128。

  • y (Tensor) - 第二个输入 Tensor,数据类型为:float16、float32、float64、int32、int64、complex64、complex128。

  • axis (int,可选) - 沿着此维进行向量积操作。默认值是 9,意思是选取第一个长度为 3 的 axis

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

返回

计算后的 Tensor,数据类型与输入 x 相同。

代码示例

>>> import paddle

>>> x = paddle.to_tensor([[1.0, 1.0, 1.0],
...                         [2.0, 2.0, 2.0],
...                         [3.0, 3.0, 3.0]])
>>> y = paddle.to_tensor([[1.0, 1.0, 1.0],
...                         [1.0, 1.0, 1.0],
...                         [1.0, 1.0, 1.0]])
...
>>> z1 = paddle.cross(x, y)
>>> print(z1)
Tensor(shape=[3, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[-1., -1., -1.],
 [ 2.,  2.,  2.],
 [-1., -1., -1.]])

>>> z2 = paddle.cross(x, y, axis=1)
>>> print(z2)
Tensor(shape=[3, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[0., 0., 0.],
 [0., 0., 0.],
 [0., 0., 0.]])