6
PyTorch-contiguous()
私はgithub (リンク)でLSTM言語モデルのこの例を調べていました。それが一般的に何をするかは私にはかなり明白です。しかしcontiguous()、コード内で数回発生する呼び出しが何をするのかを理解するのにまだ苦労しています。 たとえば、コードの74/75行目に、LSTMの入力シーケンスとターゲットシーケンスが作成されます。データ(に格納されているids)は2次元であり、最初の次元はバッチサイズです。 for i in range(0, ids.size(1) - seq_length, seq_length): # Get batch inputs and targets inputs = Variable(ids[:, i:i+seq_length]) targets = Variable(ids[:, (i+1):(i+1)+seq_length].contiguous()) したがって、簡単な例として、バッチサイズ1およびseq_length10を使用するinputsと、targets次のようになります。 inputs Variable containing: 0 1 2 3 4 5 6 7 8 9 [torch.LongTensor of size 1x10] targets Variable containing: 1 2 3 4 …