我有一个 200 列 x 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]) 。我错过了什么吗?如果您能快速帮助我了解堆叠和挤压的作用以及为什么它对我不起作用,我将永远感激您!谢谢
将
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])