torch.cross

torch.cross(input, other, dim=None, *, out=None) Tensor

返回inputother在维度dim上的向量叉积。

支持浮点型、双精度型、复数浮点型和复数双精度型数据类型的输入。也支持向量批次,并沿dim维度计算这些批次的乘积。在这种情况下,输出的批量维度与输入相同。

警告

如果未提供 dim,它将默认为第一个大小为 3 的维度。需要注意的是,这种情况可能会出乎你的意料。

此行为已弃用,未来版本中将调整为与torch.linalg.cross()一致。

参见

torch.linalg.cross(),默认情况下 dim=-1。

参数
  • input (Tensor) – 需要输入的张量。

  • other (Tensor) – 输入的第二个张量

  • dim (int, optional) – 计算叉积所使用的维度。

关键字参数

out (Tensor, 可选) – 指定输出张量。

示例:

>>> a = torch.randn(4, 3)
>>> a
tensor([[-0.3956,  1.1455,  1.6895],
        [-0.5849,  1.3672,  0.3599],
        [-1.1626,  0.7180, -0.0521],
        [-0.1339,  0.9902, -2.0225]])
>>> b = torch.randn(4, 3)
>>> b
tensor([[-0.0257, -1.4725, -1.2251],
        [-1.1479, -0.7005, -1.9757],
        [-1.3904,  0.3726, -1.1836],
        [-0.9688, -0.7153,  0.2159]])
>>> torch.cross(a, b, dim=1)
tensor([[ 1.0844, -0.5281,  0.6120],
        [-2.4490, -1.5687,  1.9792],
        [-0.8304, -1.3037,  0.5650],
        [-1.2329,  1.9883,  1.0551]])
>>> torch.cross(a, b)
tensor([[ 1.0844, -0.5281,  0.6120],
        [-2.4490, -1.5687,  1.9792],
        [-0.8304, -1.3037,  0.5650],
        [-1.2329,  1.9883,  1.0551]])
本页目录