Pytorch RNN输入维度!皮托克
很难将数据输入pytorch中的RNN。。 我上一个线性层的输出维度是(32,50),其中32是批量大小 我想把这个传送到RNN层。 我尝试用两种形式重塑我的数据:[32,1,50]和[32,50,1],两次都出现错误Pytorch RNN输入维度!皮托克,pytorch,recurrent-neural-network,tensor,Pytorch,Recurrent Neural Network,Tensor,很难将数据输入pytorch中的RNN。。 我上一个线性层的输出维度是(32,50),其中32是批量大小 我想把这个传送到RNN层。 我尝试用两种形式重塑我的数据:[32,1,50]和[32,50,1],两次都出现错误 class trainer: def __init__(): self.r = nn.RNN(input_size= 50, hidden_size=2, num_layers = 3, batch_first=True) def forw
class trainer:
def __init__():
self.r = nn.RNN(input_size= 50, hidden_size=2, num_layers = 3, batch_first=True)
def forward(self):
previous_layer_output
previous_layer_output.unsqueeze_(-1) Makes shape [32,50,1] # I also tried
#previous_layer_output.unsqueeze_(1) makes shape [32,1,50]
rnn = self.r(previous_layer_output )
我得到以下错误:运行时错误:input.size(-1)必须等于input\u size。预期50人,获得1人
如果我执行上一层输出。取消查询(1)我会得到以下错误:
ValueError:Expected target size(32,50),got torch.size([32])为了提取并隔离问题,我编写了以下代码
import torch
from torch import nn
rnn = nn.RNN (input_size=50, hidden_size=2, num_layers=2, batch_first=True)
a = torch.rand(32, 50)
a.unsqueeze_(1)
o = rnn(a)
这对我来说很好。我不确定问题出在哪里,但可能是代码中的其他地方