2017-11-22 3 views
0

私はPytorchには新しいですし、私はいくつかの問題に陥っています。 質問とその回答(正解と間違った回答を含む)の類似性を判断するランクモデルを作成したいと考えています。私はエンコーダとしてLSTMを使用します。PyTorchで長さを並べ替えることなくLSTMにバッチを供給するにはどうすればよいですか?

私のモデルには2つのLSTMがあり、それらは重みを共有します。私のモデルの入力は2つのシーケンス(質問と回答)です。しかし、バッチを使用すると、並べ替えが質問と回答の対応を乱すことになります。 どうすればよいですか?

+0

誰かが再注文するよう指示しましたか?並べ替えが必要な理由シャッフルをしたい場合は、シーケンス(質問と回答の両方)をリストに入れて、シャッフルすることで、その場合の対応を失うことはありません。 –

+0

私は[pack_padded_sequence](http://pytorch.org/docs/master/nn.html?highlight=lstm#torch.nn.utils.rnn.pack_padded_sequence)を使用してデータをパックしたいからです。この関数は、シーケンスの長さを並べ替えるように要求します。 –

答えて

1

たぶん、出発点は、(このモジュールは、パックし、内部的に展開して並べ替えの世話をするだろう)など、ここであなたが質問をエンコードし、個別にasnwerできhttps://github.com/facebookresearch/DrQA/blob/master/drqa/reader/layers.py#L20 同様のRNNラッパーを使用することができ、その後、あなたは、エンコードされた表現に作業することができます

関連する問題