将两个张量包装在pytorch中,得到新张量的大小为2

将两个张量包装在pytorch中,得到新张量的大小为2,pytorch,tensor,Pytorch,Tensor,我有两个张量x和y: x有形状:[21314,3,128,128] y有形状:[21314] 我能得到形状的新张量吗:[[21314,3,128,128],[21314],基本上是形状的2如果你需要将它保存为张量对象,我相信这是不可能的。当然,在这种情况下,您可以使用列表或元组,但我想这不是您的意思 首先,张量只是n维矩阵而不是2维矩阵的推广。但现在让我们将其简化为矩阵,例如4x3。第一个维度的大小为4,即4个条目。第二维度为3意味着4个第一维度条目中的每一个都将精确(且不少于)3个条目。也就是

我有两个张量x和y:

x有形状:
[21314,3,128,128]
y有形状:
[21314]


我能得到形状的新张量吗:
[[21314,3,128,128],[21314]
,基本上是形状的
2

如果你需要将它保存为张量对象,我相信这是不可能的。当然,在这种情况下,您可以使用列表或元组,但我想这不是您的意思

首先,张量只是n维矩阵而不是2维矩阵的推广。但现在让我们将其简化为矩阵,例如4x3。第一个维度的大小为4,即4个条目。第二维度为3意味着4个第一维度条目中的每一个都将精确(且不少于)3个条目。也就是说,每个嵌套列表中必须有3个元素的完整列表。在这个简单的示例中,请注意,不能有这样的矩阵:

[[1,2,3]

 [1,2]

 [1]    ]
虽然这是一个嵌套列表,但它不是矩阵,也不是2d张量。我想说的是,你要求的形状-[[21314,3,128,128],[21314]]-实际上不是张量

但是,您可以将其视为大小为2的张量,每个条目中的数据类型都是张量(您在提问时可能会想到的)。虽然这是不可能的,因为pytorch中的张量只包含一些类型:float32、float64、float16、uint8、int8、int16、int32、int64、bool


然而,在大多数情况下,您可以通过为列表或元组指定两个张量来实现所需的功能。

如果您需要将其保存为张量对象,我认为这是不可能的。当然,在这种情况下,您可以使用列表或元组,但我想这不是您的意思

首先,张量只是n维矩阵而不是2维矩阵的推广。但现在让我们将其简化为矩阵,例如4x3。第一个维度的大小为4,即4个条目。第二维度为3意味着4个第一维度条目中的每一个都将精确(且不少于)3个条目。也就是说,每个嵌套列表中必须有3个元素的完整列表。在这个简单的示例中,请注意,不能有这样的矩阵:

[[1,2,3]

 [1,2]

 [1]    ]
虽然这是一个嵌套列表,但它不是矩阵,也不是2d张量。我想说的是,你要求的形状-[[21314,3,128,128],[21314]]-实际上不是张量

但是,您可以将其视为大小为2的张量,每个条目中的数据类型都是张量(您在提问时可能会想到的)。虽然这是不可能的,因为pytorch中的张量只包含一些类型:float32、float64、float16、uint8、int8、int16、int32、int64、bool


然而,在大多数情况下,您可以通过为列表或元组分配两个张量来实现所需的功能。

正如a.Maman的回答中所述,您所要求的不是张量。这对我来说似乎是一个挑战。请描述一下你真正想要达到的目标,以及为什么你认为你需要一个嵌套的张量。可能有更好的解决方案。正如a.Maman的答案所述,你所要求的不是张量。这对我来说似乎是一个挑战。请描述一下你真正想要达到的目标,以及为什么你认为你需要一个嵌套的张量。可能有更好的解决办法。