tf.keras.preprocessing.sequence.pad_sequences
| Просмотреть исходный код на GitHub |
Заполняет последовательности до одинаковой длины.
tf.keras.preprocessing.sequence.pad_sequences(
sequences, maxlen=None, dtype='int32', padding='pre', truncating='pre',
value=0.0
)
Эта функция преобразует список (длины num_samples) последовательностей (списков целых чисел) в двумерный массив NumPy с формой (num_samples, num_timesteps). num_timesteps — это либо аргумент maxlen, если он предоставлен, либо длина самой длинной последовательности в списке.
Последовательности, которые короче num_timesteps, заполняются value до достижения длины num_timesteps.
Последовательности, длиннее num_timesteps, усекаются, чтобы они соответствовали желаемой длине.
Позиция, где происходит заполнение или усечение, определяется аргументами padding и truncating, соответственно. По умолчанию происходит заполнение перед последовательностью или удаление значений с начала последовательности.
sequence = [[1], [2, 3], [4, 5, 6]]
tf.keras.preprocessing.sequence.pad_sequences(sequence)
array([[0, 0, 1],
[0, 2, 3],
[4, 5, 6]], dtype=int32)
tf.keras.preprocessing.sequence.pad_sequences(sequence, value=-1)
array([[-1, -1, 1],
[-1, 2, 3],
[ 4, 5, 6]], dtype=int32)
tf.keras.preprocessing.sequence.pad_sequences(sequence, padding='post')
array([[1, 0, 0],
[2, 3, 0],
[4, 5, 6]], dtype=int32)
tf.keras.preprocessing.sequence.pad_sequences(sequence, maxlen=2)
array([[0, 1],
[2, 3],
[5, 6]], dtype=int32)
| Аргументы | |
|---|---|
sequences | Список последовательностей (каждая последовательность — это список целых чисел). |
maxlen | Необязательное целое число, максимальная длина всех последовательностей. Если не указано, последовательности будут заполнены до длины самой длинной индивидуальной последовательности. |
dtype | (Необязательно, по умолчанию int32). Тип выходных последовательностей. Для заполнения последовательностей с переменной длиной строк можно использовать object. |
padding | Строка, 'pre' или 'post' (необязательно, по умолчанию 'pre'): заполнение происходит перед или после каждой последовательности. |
truncating | Строка, 'pre' или 'post' (необязательно, по умолчанию 'pre'): удаление значений из последовательностей, больших, чем maxlen, происходит в начале или в конце последовательностей. |
value | Число с плавающей точкой или строка, значение заполнения. (Необязательно, по умолчанию 0.) |
| Возвращаемое значение | |
|---|---|
Массив NumPy с формой (len(sequences), maxlen) |
| Возможные исключения | |
|---|---|
ValueError | В случае недопустимых значений для truncating или padding, или в случае недопустимой формы для записи sequences. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/preprocessing/sequence/pad_sequences