2024-05-08 06:20:28 发布
网友
在这里可以改进Keras文档。读完这篇文章后,我仍然不明白这到底是做什么的:Keras.io.preprocessing.sequence.pad_sequences
有人能解释一下这个函数的功能吗,并提供一个理想的例子?
pad_sequences用于确保列表中的所有序列具有相同的长度。默认情况下,这是通过在每个序列的开头填充0来完成的,直到每个序列具有与最长序列相同的长度。
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]匹配。
[3, 4, 5, 6]
如果您更希望填充到序列的末尾,可以设置padding='post'。
padding='post'
如果要指定每个序列的最大长度,可以使用maxlen参数。这将截断所有长于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。
根据documentation可以用pad_序列控制截断。默认情况下,截断设置为pre,它截断序列的开始部分。如果希望截断序列的结尾部分,可以将其设置为post。
pre
post
pad_sequences
用于确保列表中的所有序列具有相同的长度。默认情况下,这是通过在每个序列的开头填充0
来完成的,直到每个序列具有与最长序列相同的长度。例如
[3, 4, 5, 6]
是最长的序列,因此0
将被填充到其他序列中,以便它们的长度与[3, 4, 5, 6]
匹配。如果您更希望填充到序列的末尾,可以设置
padding='post'
。如果要指定每个序列的最大长度,可以使用
maxlen
参数。这将截断所有长于maxlen
的序列。现在每个序列的长度都是3。
根据documentation可以用pad_序列控制截断。默认情况下,截断设置为
pre
,它截断序列的开始部分。如果希望截断序列的结尾部分,可以将其设置为post
。相关问题 更多 >
编程相关推荐