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.4/api_docs/python/tf/keras/preprocessing/sequence/pad_sequences