Pytorch LSTM возвращает кортеж.Таким образом, вы получаете эту ошибку, так как ваш второй слой LSTM self.seq2
не может обработать этот кортеж.Итак, замените
prefix1=self.seq1(input1)
suffix1=self.seq1(input2)
на что-то вроде этого:
prefix1_out, prefix1_states = self.seq1(input1)
suffix1_out, suffix1_states = self.seq1(input2)
и затем передайте тензоры prefix1_out и suffix1_out следующим слоям LSTM как
prefix2_out, prefix2_states = self.seq2(prefix1_out)
suffix2_out, suffix2_states = self.seq2(suffix1_out)
И,Тензоры concat prefix1_out и suffix1_out вот так
result = torch.cat([out1,out2],1)
Также замените
r1=F.sigmoid(self.fc1(result))
r2=self.fc2(r1)
на что-то вроде этого:
out_ll = self.fc1(result)
r1 = nn.Sigmoid()
r2 = self.fc2(r1(out_ll))