Каков правильный ввод в LSTM?

#graph #pytorch #lstm #data-mining

#График #pytorch #lstm #интеллектуальный анализ данных

Вопрос:

У меня есть тензоры разной длины. Эти тензоры представляют собой данные за разный период времени. Моя цель — получить конечный результат lstm.

 torch.randn(4)-Time1
torch.randn(3,4)-Time2
torch.randn(4,4)-Time3
  

Это мои данные, каков ввод в LSTM отсюда? , моя цель — получить конечный результат из lstm

Например, это то, что я сделал

 out_position = self.linear_out_position(features)
    _, (hn, _) = self.lstm(out_position)
        output = self.ffn(hn)
  

однако я получаю результат для каждого тензора, как я могу получить только конечный результат? Пожалуйста, мне нужна ваша помощь

Ответ №1:

Вы можете получить доступ к последнему скрытому слою как hn[-1] output = self.ffn(hn[-1])

Комментарии:

1. Спасибо @fatima, так нужно ли мне объединять эти тензоры в один тензор перед вводом в LSTM? или я могу просто использовать каждый раз в качестве входных данных?

2. Вам нужно объединить их в качестве входных данных. Но вы должны использовать заполнение в своих тензорах и сначала привести их к одинаковой форме. Затем вы можете использовать torch.cat чтобы объединить входные данные.