torch.cartesian_prod

torch.cartesian_prod(*tensors)[源代码]

计算给定张量序列的笛卡尔积。其行为与 Python 中的 itertools.product 类似。

参数

*tensors (Tensor) - 任意数量的一维张量。

返回值

将所有的输入张量转换成列表,使用itertools.product对这些列表进行操作,最后将得到的结果列表再转换成张量。

返回类型

张量

示例:

>>> import itertools
>>> a = [1, 2, 3]
>>> b = [4, 5]
>>> list(itertools.product(a, b))
[(1, 4), (1, 5), (2, 4), (2, 5), (3, 4), (3, 5)]
>>> tensor_a = torch.tensor(a)
>>> tensor_b = torch.tensor(b)
>>> torch.cartesian_prod(tensor_a, tensor_b)
tensor([[1, 4],
        [1, 5],
        [2, 4],
        [2, 5],
        [3, 4],
        [3, 5]])
本页目录