50 votes

Que fait Keras.io.preprocessing.sequence.pad_sequences?

La documentation Keras pourrait être améliorée ici. Après avoir lu cela, je ne comprends toujours pas ce que cela fait exactement: Keras.io.preprocessing.sequence.pad_sequences

Quelqu'un pourrait-il indiquer ce que fait cette fonction et, dans l'idéal, fournir un exemple?

78voto

oscfri Points 21

pad_sequences est utilisé pour s'assurer que toutes les séquences dans une liste ont la même longueur. Par défaut, il est fait par un rembourrage 0 en début de chaque séquence, jusqu'à ce que chaque séquence a la même longueur que la plus longue séquence.

Par exemple

>>> 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] est la plus longue séquence, 0 sera complétée pour les autres séquences de sorte que leur longueur correspond [3, 4, 5, 6].

Si vous voulez pad à la fin de la séquence, vous pouvez configurer padding='post'.

Si vous souhaitez spécifier la longueur maximale de chaque séquence, vous pouvez utiliser l' maxlen argument. Ce sera tronquée, toutes les séquences de plus de 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)

Maintenant, chaque séquence d'avoir la longueur de la 3 à la place.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X