我有一个熊猫数据框200列乘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])。我想念什么吗?如果您能迅速帮助我了解堆叠和压缩的功能以及为什么它对我不起作用,那么您将永远背负债务!谢谢
1 回答
GCT1015
TA贡献1827条经验 获得超4个赞
重命名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])
添加回答
举报
0/150
提交
取消