Несоответствие формы веса PyTorch GRU, когда num_layers> 1 - PullRequest
0 голосов
/ 17 октября 2018

Документ GR PyTorch (https://pytorch.org/docs/stable/nn.html#gru) говорит, что форма для переменной weight_ih_l[k] равна 3*hidden_size x input_size независимо от слоя.

Однако, когда я распечатывал форму каждого веса с помощью

gru = nn.GRU(...)
for name, p in gru.named_parameters():
    print(name,p.shape)

с hidden_size=2, input_size=1, num_layers=3 и bidirectional=True, я получаю (6,1) только для weight_ih_l0 и получаю (6,4) для weight_ih_l1 и l2,который, кажется, предполагает, что форма для weight_ih равна 3 * hidden_size * (hidden_size*num_directions) для layer > 0.

Это ошибка документации? Или в GRU есть что-то, чего я не понимаю?

...