cross¶
计算 Tensor x
和 y
在 axis
维度上的向量积(叉积)。
x
和 y
必须有相同的形状,且指定的 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.]])