tf.keras.preprocessing.sequence.pad_sequences()用法

16 篇文章 0 订阅
7 篇文章 0 订阅

keras只接受长度相同的序列输入,当数据集序列长度不等时,使用该函数进行padding进行填充。

  1. 函数说明
keras.preprocessing.sequence.pad_sequences(sequences, 
	maxlen=None,
	dtype='int32',
	padding='pre',
	truncating='pre', 
	value=0.)

sequences: 浮点数或整数构成的两层嵌套列表
maxlen:None或者整数,为序列的最大长度,大于该长度的序列被截短,小于该长度的序列部分补0。
dtype: 返回的numpy array 数据类型
padding:‘pre’或者’post’ ,确定当需要补0,在序列的起始还是结尾补,默认是起始
truncating:‘pre’或者’post’,确定当截断序列时,从起始还是结尾截断,默认是起始
value:浮点数,此值将在填充时代替默认的填充值0

返回值是个2维张量,长度为maxlen

2. 实例

>>>list_1 = [[2,3,4]]
>>>keras.preprocessing.sequence.pad_sequences(list_1, maxlen=10)
array([[0, 0, 0, 0, 0, 0, 0, 2, 3, 4]], dtype=int32)

>>>list_2 = [[1,2,3,4,5]]
>>>keras.preprocessing.sequence.pad_sequences(list_2, maxlen=10)
array([[0, 0, 0, 0, 0, 1, 2, 3, 4, 5]], dtype=int32)

>>>tokenizer.texts_to_sequences(["下 雨 我 加班"])
[[4, 5, 6, 7]]

>>>keras.preprocessing.sequence.pad_sequences(tokenizer.texts_to_sequences(["下 雨 我 加班"]), maxlen=20)
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7]],dtype=int32)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值