sequence.pad_sequences 的用法举例

>>> from tensorflow.keras.preprocessing import sequence
>>> help(sequence.pad_sequences)
>>> import numpy as np
>>> a=np.array([[1,2],[1,4,5],[3]])
>>> ap = sequence.pad_sequences(a,5)
>>> ap
array([[0, 0, 0, 1, 2],
       [0, 0, 1, 4, 5],
       [0, 0, 0, 0, 3]], dtype=int32)
>>> a
array([list([1, 2]), list([1, 4, 5]), list([3])], dtype=object)
>>> help(sequence.pad_sequences)

>>> ap = sequence.pad_sequences(a,5,padding='post')
>>> ap
array([[1, 2, 0, 0, 0],
       [1, 4, 5, 0, 0],
       [3, 0, 0, 0, 0]], dtype=int32)
>>> ap = sequence.pad_sequences(a,4,padding='post')
>>> ap
array([[1, 2, 0, 0],
       [1, 4, 5, 0],
       [3, 0, 0, 0]], dtype=int32)
>>> 
说明:  sequence.pad_sequences 就是把不等长的list变成等长. 默认填充是0, padding = 'pre'是前填充

padding='post'是后填充

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`sequence.pad_sequences` 是 Keras 中用于将序列数据进行填充(padding)的函数。该函数用于将输入的序列数据填充到指定的长度,以便将它们用于神经网络等模型中。 该函数的基本语法如下所示: ```python keras.preprocessing.sequence.pad_sequences(sequences, maxlen=None, dtype='int32', padding='pre', truncating='pre', value=0.0) ``` 其中,参数含义如下: - `sequences`:输入的序列数据,为一个 Python 列表,列表中每个元素也是一个序列(如字符串、列表等)。 - `maxlen`:要将序列填充到的最大长度。如果不指定,则序列将被填充到最长的序列长度。 - `dtype`:输出序列的数据类型。 - `padding`:填充位置,默认为 `'pre'` 表示在序列前面填充,也可以设置为 `'post'` 表示在序列后面填充。 - `truncating`:当序列超过指定长度时,要截断序列的哪一端。默认为 `'pre'` 表示在序列前面截断,也可以设置为 `'post'` 表示在序列后面截断。 - `value`:用于填充的值,可以是数字、字符串、列表等。 举个例子,假设我们有如下的输入序列: ```python sequences = [['foo', 'bar'], ['baz', 'qux', 'quux'], ['corge']] ``` 如果要将它们填充到长度为 5,使用默认的填充值 0,那么可以这样调用 `sequence.pad_sequences` 函数: ```python from keras.preprocessing.sequence import pad_sequences padded_sequences = pad_sequences(sequences, maxlen=5) print(padded_sequences) ``` 输出如下: ``` [[ 0 0 'foo' 'bar'] [ 0 'baz' 'qux' 'quux'] [ 0 0 0 'corge']] ``` 可以看到,序列已经被填充到了长度为 5,缺失的位置被填充为了 0。如果要在序列后面进行填充,只需要将 `padding` 参数设置为 `'post'` 即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值