【发布时间】:2021-02-23 17:30:55
【问题描述】:
我有一个形状为 3,3,3 的 3D numpy 数组,我想从空间上围绕它的数组填充 2 层值,使其成为 5,5,5 数组。
到目前为止,我使用 torch cat 函数(其工作方式与 numpy concat 相同)填充 y 数组所做的工作如下:
x = torch.from_numpy(np.arange(1,28,1).reshape(3,3,3))
y = torch.from_numpy(np.arange(28,55,1).reshape(3,3,3))
z = torch.from_numpy(np.arange(55,82,1).reshape(3,3,3))
torch.cat((y,z[:,:2,:]), dim=1) #To concat z+ with 2 pads
torch.cat((x[:,1:,:],y), dim=1) #To concat z- with 2 pads
torch.cat((y,z[:,:,:2]), dim=2) #To concat x+ with 2 pads
torch.cat((x[:,1:,:],y), dim=1) #To concat x- with 2 pads
torch.cat((x,z[:2,:,:]), dim=2) #To concat y+ with 2 pads
torch.cat((x[1:,:,:],y), dim=1) #To concat y- with 2 pads
但它没有给我正确的价值观。我怎样才能做到这一点?
【问题讨论】:
-
如果我遵循正确,您建议的操作会导致具有 81 个元素的非矩形形状(基本上是 5x5x5 立方体,但缺少边和角)。一个 5x5x5 的张量有 125 个元素。例如,您希望结果张量在索引 (0,0,0) 处具有什么值?如果您能提供一个很有帮助的示例输入/输出。
-
@jodag 我明白你的意思。边缘和角落区域将被留下。其实,我也不知道。问题是我需要创建一个函数,从所有触摸框/数组中获取所需的层数并将它们连接起来
标签: python arrays numpy multidimensional-array pytorch