pytorch .stack .squeeze 后的最终形状

pytorch .stack final shape after .squeeze

我有一个 pandas 数据框 200 列 x 2500 行,我把它变成了一个张量

tensor = torch.tensor(df.values)
tensor.size() => ([2500,200])

我分块并列举了

list=[]
for i,chunk in enumerate(tensor.chunk(100,dim=0))
    chunk.size =>([25,200])
    output = hiddenlayer(chunks)
    output.size() => ([25,1])
    list += output

块被馈送到一些层并输出为 1 个特征张量。所以现在我有一个包含 100 个张量的列表,每个张量有 25 个块 1, 100x25x1

所以我

stacked = torch.stack(list, 1).squeeze(2)
stacked.size()=([25,100])

我玩过堆叠和挤压,但我似乎无法回到我想要的 ([2500,1])。我错过了什么吗?如果你能快速帮助我理解堆叠和挤压的作用以及为什么它对我不起作用,我将永远感激你!谢谢

list 重命名为 tensor_list,因为使用保留关键字作为变量名是不好的做法。

tensor_list =[]
for i,chunk in enumerate(tensor.chunk(100,dim=0)):
    output = hiddenlayer(chunk).squeeze()
    tensor_list.append(output)

result = torch.reshape(torch.stack(tensor_list,0), (-1, 1))

result.size() 现在应该 return torch.Size([2500, 1])