pytorch .stack压缩后的最终形状

时间:2018-08-15 02:01:33

标签: python machine-learning pytorch torch tensor

我有一个200列乘2500行的pandas数据框,将其做成张量

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])。我想念什么吗?如果您可以快速帮助我了解堆叠和压缩的功能以及为什么它对我不起作用,那么您将永远背负债务!谢谢

1 个答案:

答案 0 :(得分:0)

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()现在应该返回torch.Size([2500, 1])