2017-07-06 20 views
6

W pytorch możemy podać spakowaną sekwencję jako dane wejściowe do RNN. Od official doc, wejście RNN może wyglądać następująco.W jaki sposób wyściełane sekwencje podane jako spakowane sekwencje są przekazywane przez RNN w pytorch?

wejściowy (seq_len partia, input_size): napinacz zawierający cechy sekwencji wejściowej. Dane wejściowe mogą również być zapakowanymi sekwencjami o zmiennej długości.

Przykład

packed = torch.nn.utils.rnn.pack_padded_sequence(embedded, input_lengths) 
outputs, hidden = self.rnn(packed, hidden) 
outputs, output_lengths = torch.nn.utils.rnn.pad_packed_sequence(outputs) 

Tutaj embedded jest osadzony przedstawienie wkładu wsadowego.

Moje pytanie brzmi: w jaki sposób wykonywane są obliczenia dla spakowanych sekwencji w RNN? W jaki sposób obliczane są ukryte stany dla wyściełanych sekwencji w partii przez spakowane przedstawienie?

Odpowiedz

0

Na podstawie odpowiedzi autorstwa matthew_zeng z this relevent question: dane wyjściowe nie są obliczane dla elementów wypełnionych, a ukryty stan ukryty po ostatnim prawidłowym wprowadzeniu.