用pytorch包裹两个张量,得到新张量的大小为2。

问题描述 投票:0回答:1

我有两个腾博会登录说x和y。

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

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

pytorch tensor
1个回答
2
投票

我相信这是不可能的,如果你要求保存为一个 张量 对象。当然,你可以使用列表或元组来处理这种情况,但我想这不是你的意思。

首先,张量只是一个矩阵的泛化,是n次方而不是两次方。但我们现在简化一下矩阵,比如4x3。第一个矩阵大小为4,意味着有4个条目。第二项大小为3,意味着第一项的4个条目中的每一个都有3个条目(且不少于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。

尽管如此,在大多数情况下,你可以通过将两个tensors分配给一个list或tuple来实现你所需要的东西。

© www.soinside.com 2019 - 2024. All rights reserved.