Влияет ли batch_first на скрытые тензоры в LSTM Pytorch? - PullRequest
0 голосов
/ 25 апреля 2018

Влияет ли batch_first на скрытые тензоры в LSTM Pytorch?

То есть, если параметр batch_first имеет значение true, будет ли скрытое состояние (numlayer*direction,num_batch,encoding_dim) или (num_batch,numlayer*direction,encoding_dim)

I 'Мы оба проверили, оба не дают ошибок.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Я думал об этом же вопросе некоторое время назад. Как указано в laydog, в документации написано

batch_first - если True, то тензоры ввода и вывода предоставляются as (партия, последовательность, функция)

Насколько я понимаю, речь идет о кортеже скрытого состояния / ячейки, а не о фактических входах и выходах.

Мне кажется довольно очевидным, что это не влияет на скрытое состояние, как они упоминают:

(партия, последовательность, функция)

Это явно относится к входам и выходам, а не к кортежу состояний, который состоит из двух кортежей с формой:

(num_layers * num_directions, пакет, скрытый_размер)

Так что я почти уверен, что это не влияет на скрытое состояние и состояние ячейки, для меня также не имеет смысла изменять порядок кортежей скрытого состояния.

Надеюсь, это поможет.

0 голосов
/ 25 апреля 2018

Из документов

batch_first - если True, то входные и выходные тензоры предоставляются как (пакет, последовательность, функция)

Так что, да, если ваш вход сначала пакетный, то выход также будет первым.

...