首页 > 解决方案 > Torch:如何连接不同大小的张量?

问题描述

我有两个张量:

rc of size: torch.Size([128, 16, 1])
xt of size: torch.Size([128, 40, 1])

我想将 xt 连接到 rc 沿维度 2,以便 rc_xt 的最终大小为:

rc_xt = torch.Size([128, 40, 2])

简而言之,我想将 rc 的维度 1 (16) 的大小“增加”到 40——通过任何方式,甚至只是重复元素——然后将它们沿维度 2 连接起来。

我试图用谷歌搜索如何做到这一点,但无论我做什么我都无法让它工作,我对如何去做这件事有点困惑。

先感谢您。

标签: pythonpytorch

解决方案


“增加” 的大小rc可以简单地通过padding来完成。
例如,您可以用零填充它:

p_rc = nnf.pad(rc, (0, 0, 0, xt.shape[1]-rc.shape[1], 0, 0), 'constant', 0)

一旦你有一个填充版本,rc你可以连接:

rc_xt = torch.concat((p_rc, xt), dim=-1)

推荐阅读