我正在努力理解我的pytorch模型需要什么样的维度作为输入。我的模型设置是:
class RNN(nn.Module):
def __init__(self, input_size, hidden_size, output_size):
super(RNN, self).__init__()
self.rnn_b = nn.RNN(input_size=input_size,
hidden_size=hidden_size,
num_layers=1,
bias=False)
self.hidden_size = hidden_size
self.linearout = nn.Linear(hidden_size, output_size)
def forward(self, input, hidden):
out, hidden = self.rnn_b(input, hidden)
output = self.linearout(out)
return output, hidden
def initHidden(self):
return torch.zeros(1, self.hidden_size)
model = RNN(1, 2, 1)
如果我调用model(tensor(25.) tensor([[0., 0.]]))
,则得到错误:
IndexError: dimension specified as 1 but tensor has no dimensions
如果我调用model(tensor([25.]) tensor([[0., 0.]]))
,那么我就会得到错误
IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)
有人能解释一下这是怎么回事吗?为模型输入设置数据格式的正确方法是什么?你知道吗
你需要封装更多。这是因为pytorch自动允许批处理:
输出:
您可以将多个输入作为一个批使用:
输出:
相关问题 更多 >
编程相关推荐