мне нужно инициализировать скрытое состояние lstm при проверке и наборе тестов?или просто обнулить его - PullRequest
0 голосов
/ 18 июня 2019

При обучении лучше инициализировать скрытое состояние, а не устанавливать его в 0. Но мне интересно, хорошо ли инициализировано скрытое состояние при проверке и тестировании.Спасибо

1 Ответ

1 голос
/ 18 июня 2019

Нет абсолютно никакой причины для пользовательской инициализации скрытых состояний в нули ; это на самом деле дело :

def forward(self, input, hx=None):
    ...

    if hx is None:
        num_directions = 2 if self.bidirectional else 1
        hx = torch.zeros(self.num_layers * num_directions,
                         max_batch_size, self.hidden_size,
                         dtype=input.dtype, device=input.device)
    else:
        # Each batch of the hidden state should match the input sequence that
        # the user believes he/she is passing in.
        hx = self.permute_hidden(hx, sorted_indices)

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


Кроме того, обычно, теоретически, не необходимо инициализировать скрытые состояния модели в режиме тестирования (случайным образом или с использованием предварительно определенных значений).

...