I’m trying to implement a Pyramidal Bi-LSTM module. The forward function calls the following code
# input to pack_padded_sequence is torch.Size([618, 16, 512])
x = pack_padded_sequence(x, x_len, batch_first=False, enforce_sorted=False)
out, _ = self.blstm(x) # out.data.size() = torch.Size([8632, 256])
outputs, output_lens = pad_packed_sequence(out, batch_first=False) # this errors out
The lstm executes fine but it throws the following error on padding back…
<ipython-input-10-0412449191e5> in forward(self, x, x_len)
17 out, _ = self.blstm(x)
18 print("pblstm output: ", out.data.size())
---> 19 outputs, output_lens = pad_packed_sequence(out, batch_first=False)
20 # out = out.transpose(0, 1)
21 # return out, hidden
/usr/local/lib/python3.6/dist-packages/torch/nn/utils/rnn.py in pad_packed_sequence(sequence, batch_first, padding_value, total_length)
327 max_seq_length = total_length
328 padded_output, lengths = _VF._pad_packed_sequence(
--> 329 sequence.data, sequence.batch_sizes, batch_first, padding_value, max_seq_length)
330 unsorted_indices = sequence.unsorted_indices
331 if unsorted_indices is not None:
RuntimeError: shape '[156, 8, 256]' is invalid for input of size 114688
I don’t understand where the shape [156, 8, 256] comes from and what does 114688 represent. I’d appreciate any help thanks.