web-dev-qa-db-ja.com

Keras.io.preprocessing.sequence.pad_sequencesは何をしますか?

Kerasのドキュメントはここで改善できます。これを読んだ後、私はまだこれが何をするのか正確に理解していません: Keras.io.preprocessing.sequence.pad_sequences

誰かがこの機能が何をするかを説明し、理想的には例を提供できますか?

32
Koffiman

pad_sequencesは、リスト内のすべてのシーケンスが同じ長さになるようにするために使用されます。デフォルトでは、これはパディング0各シーケンスが最長シーケンスと同じ長さになるまで、各シーケンスの先頭に。

例えば

>>> pad_sequences([[1, 2, 3], [3, 4, 5, 6], [7, 8]])
array([[0, 1, 2, 3],
       [3, 4, 5, 6],
       [0, 0, 7, 8]], dtype=int32)

[3, 4, 5, 6]は最長のシーケンスなので、0は他のシーケンスに埋め込まれるので、それらの長さは[3, 4, 5, 6]

シーケンスの最後まで埋め込みたい場合は、padding='post'

各シーケンスの最大長を指定する場合は、maxlen引数を使用できます。これは、maxlenより長いすべてのシーケンスを切り捨てます。

>>> pad_sequences([[1, 2, 3], [3, 4, 5, 6], [7, 8]], maxlen=3)
array([[1, 2, 3],
       [4, 5, 6],
       [0, 7, 8]], dtype=int32)

これで、各シーケンスの長さは3になりました。

41
oscfri