【发布时间】:2020-08-31 19:23:39
【问题描述】:
假设我有一个具有这种形状的 5D 张量,例如:(1, 3, 10, 40, 1)。我想根据某个维度将其拆分为较小的相等张量(如果可能),step 等于 1,同时保留其他维度。
假设我想根据第四维 (=40) 将其拆分,其中每个张量的大小等于 10。所以第一个 tensor_1 将具有 0->9 的值,tensor_2 将具有 1->10 的值等等。
39 个张量将具有这些形状:
Shape of tensor_1 : (1, 3, 10, 10, 1)
Shape of tensor_2 : (1, 3, 10, 10, 1)
Shape of tensor_3 : (1, 3, 10, 10, 1)
...
Shape of tensor_39 : (1, 3, 10, 10, 1)
这是我尝试过的:
a = torch.randn(1, 3, 10, 40, 1)
chunk_dim = 10
a_split = torch.chunk(a, chunk_dim, dim=3)
这给了我 4 个张量。我该如何编辑它,这样我将有 39 个张量,步长 = 1,就像我解释的那样?
【问题讨论】:
-
这些不是分裂,而是重叠张量