LIUPENG BLOG
Liupeng
Feb 24, 2020
It takes 2 minutes to read this article.

数据机填充到相同长度

代码

train_data = tensorflow.keras.preprocessing.sequence.pad_sequences
(
train_data,
 value=word_index["<PAD>"],
 padding='post',
 maxlen=256
)

API 文档

pad_sequences

keras.preprocessing.sequence.pad_sequences(sequences, maxlen=None, dtype='int32', padding='pre', truncating='pre', value=0.0)

将序列填充到相同的长度。

此函数将 num_samples序列列表(整数列表)转换为shape的2D Numpy数组(num_samples, num_timesteps)num_timesteps是自maxlen变量(如果提供),或者是最长序列的长度(否则)。

比最后num_timesteps 填充的序列短的序列value

序列的长度比num_timesteps被截断的长度长,因此适合所需的长度。填充或截断发生的位置分别由参数padding和决定truncating

预填充是默认设置。

参数

  • sequence:列表列表,其中每个元素都是一个序列。
  • maxlen:Int,所有序列的最大长度。
  • dtype:输出序列的类型。要填充长度可变的字符串序列,可以使用object
  • padding:字符串,“ pre”或“ post”:在每个序列之前或之后填充。
  • 截断:字符串,“ pre”或“ post”:从大于或大于的序列中删除序列 maxlen的开头或结尾的值。
  • value:浮点数或字符串,填充值。

返回值

  • x:具有形状的块状数组(len(sequences), maxlen)

报错信息

  • ValueError:如果truncating或的值无效padding,或者sequences条目的形状无效。