Как изменить форму матрицы Pytorch, не смешивая элементы элементов в пакете - PullRequest
0 голосов
/ 27 ноября 2018

В моей модели нейронной сети я представляю предложение из 8 слов с 8x256 размерной матрицей вложения.Я хочу передать его в LSTM в качестве входных данных, где LSTM в качестве входных данных принимает вложение одного слова за раз и обрабатывает его.В соответствии с документацией pytorch , ввод должен быть в форме (seq_len, batch, input_size).Как правильно преобразовать мои данные в нужную форму?Я не хочу путать числа по ошибке.Я новичок в вычислениях PyTorch и мажорных строках, поэтому я хотел спросить об этом здесь.Я делаю это следующим образом, это правильно?

x = torch.rand(8,256)
lstm_input = torch.reshape(x,(8,1,256))

1 Ответ

0 голосов
/ 28 ноября 2018

Ваше решение верное: вы добавили измерение Singleton для измерения «партии», оставив x с временным измерением 8 и входным измерением 256.

Поскольку вы новичок в Pytorch, здесьнесколько эквивалентных способов сделать то же самое:

x = x[:, None, :]

Помещение None в dim = 1 указывает на добавление измерения сингелтона.
Другой способ - использовать view:

x = x.view(8, 1, 256)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...