下面,
x_6 = torch.cat((x_1, x_2_1, x_3_1, x_5_1), dim=-3)
Sizes of tensors x_1, x_2_1, x_3_1, x_5_1 are
torch.Size([1, 256, 7, 7])
torch.Size([1, 256, 7, 7])
torch.Size([1, 256, 7, 7])
torch.Size([1, 256, 7, 7]) respectively.
The size of x_6 turns out to be torch.Size([1, 1024, 7, 7])
我无法理解&;沿负维度(本例中为-3)可视化此连接。 这里到底发生了什么? 如果dim=3,情况如何? 对于给定的张量集,dim是否有任何约束
Python提供负索引,因此您可以从列表的末尾开始访问元素,例如,-1是列表的最后一个元素。 在这种情况下,张量有4维,所以-3实际上是第二个元素
从张量代数的角度来看answer by danin并不完全正确,实际上是错误的,因为答案表明问题与访问或索引Python列表有关。事实并非如此
-3
意味着我们沿着2nd维度连接张量。(你可以很好地使用1而不是令人困惑的-3)仔细观察张量形状,它们似乎表示
(b, c, h, w)
,其中b
表示批量大小,c
表示通道数,h
表示高度,w
表示宽度通常情况就是这样,在深层神经网络中编码(可能)图像的最后阶段,我们会得到这些特征图
带有
dim=-3
的torch.cat()
操作意味着我们沿着通道c
的维度连接这4个张量(见上文)4*256=>;1024
因此,合成张量以
torch.Size([1, 1024, 7, 7])
形结束注释:由于我们人类生活在一个固有的3D世界中,因此很难想象一个四维空间。然而,这里有一些我不久前写的答案,这将有助于获得一些心理图片
相关问题 更多 >
编程相关推荐