Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python函数——序列预处理pad_sequences()序列填充

python函数——序列预处理pad_sequences()序列填充

作者头像
莫斯
发布于 2020-09-10 02:39:44
发布于 2020-09-10 02:39:44
3.2K00
代码可运行
举报
文章被收录于专栏:备份备份
运行总次数:0
代码可运行

0. 前言

为了实现的简便,keras只能接受长度相同的序列输入。因此如果目前序列长度参差不齐,这时需要使用pad_sequences()。该函数是将序列转化为经过填充以后的一个长度相同的新序列新序列。

1. 语法

官方语法如下: Code.1.1 pad_sequences语法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
keras.preprocessing.sequence.pad_sequences(sequences, 
	maxlen=None,
	dtype='int32',
	padding='pre',
	truncating='pre', 
	value=0.)

1.1 参数说明

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

1.2 返回值

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

2. 实例

Code.2.1 简单示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>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)

在自然语言中一般和分词器一起使用,在分词器笔记中也提到过pad_sequences使用效果,原文见 python函数——Keras分词器Tokenizer

Code.2.2 常用示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>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)
  1. https://keras-cn.readthedocs.io/en/latest/preprocessing/sequence/
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/12/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python函数——Keras分词器Tokenizer
Tokenizer是一个用于向量化文本,或将文本转换为序列(即单个字词以及对应下标构成的列表,从1算起)的类。是用来文本预处理的第一步:分词。结合简单形象的例子会更加好理解些。
莫斯
2020/09/10
5.2K0
keras之数据预处理
from keras.preprocessing.sequence import pad_sequences
学到老
2019/01/25
1.9K0
keras doc 9 预处理等
用以生成一个batch的图像数据,支持实时数据提升。训练时该函数会无限生成数据,直到达到规定的epoch次数为止。
CreateAMind
2018/07/25
1.2K0
使用Python实现深度学习模型:智能新闻生成与校对
在信息爆炸的时代,新闻生成与校对成为了一个重要的应用场景。通过深度学习技术,我们可以实现自动化的新闻生成和校对,提高新闻生产的效率和质量。本文将介绍如何使用Python和深度学习框架实现一个智能新闻生成与校对模型,并通过代码示例展示具体实现过程。
Echo_Wish
2024/09/26
1840
使用Python实现深度学习模型:智能新闻生成与校对
Deep learning with Python 学习笔记(5)
用于处理序列的两种基本的深度学习算法分别是循环神经网络(recurrent neural network)和一维卷积神经网络(1D convnet) 与其他所有神经网络一样,深度学习模型不会接收原始文本作为输入,它只能处理数值张量。文本向量化(vectorize)是指将文本转换为数值张量的过程。它有多种实现方法
范中豪
2019/09/10
6920
Deep learning with Python 学习笔记(5)
词嵌入+神经网络进行邮件分类
数据集:https://www.kaggle.com/uciml/sms-spam-collection-dataset#spam.csv
foochane
2019/05/23
5170
Keras实现文本预处理
from keras.preprocessing.text import text_to_word_sequence from keras.preprocessing.text import Tokenizer from keras.preprocessing.sequence import pad_sequences text1 = "今天 北京 下 暴雨 了" text2 = "我 今天 打车 回家" texts = [text1, text2] print(text_to_word_sequenc
致Great
2018/08/02
5810
垃圾邮件检测:第2部分
作者 | Md Sohel Mahmood 编译 | VK 来源 | Towards Data Science
磐创AI
2021/11/10
9890
MOOC TensorFlow入门实操课程代码回顾总结(三)
欢迎来到TensorFlow入门实操课程的学习 MOOC TensorFlow入门实操课程代码回顾总结(一) MOOC TensorFlow入门实操课程代码回顾总结(二) 注: 用于表示python代码 粘贴运行结果 目录 10 文本生成——循环神经网络设计 10.1 导入库 10.2 将歌词中的数据进行词条化 10.3 创建神经网络的输入序列 10.4 建立神经网路训练数据 10.5 绘制准确率曲线 10.6 模型评估 10(综) 项目实战——生成优美的诗歌 10 文本生成——循环神经网络设计
荣仔_最靓的仔
2022/01/05
4830
MOOC TensorFlow入门实操课程代码回顾总结(三)
使用TensorFlow 2.0的LSTM进行多类文本分类
关于NLP的许多创新都是如何将上下文添加到单词向量中。常用的方法之一是使用递归神经网络。以下是递归神经网络的概念:
代码医生工作室
2019/12/19
4.3K0
使用TensorFlow 2.0的LSTM进行多类文本分类
tensorflow语法【zip、tf.tile、tf.truncated_normal、tf.data.Dataset.from_tensor_slices、dataset中shuffle()】
【一】tensorflow安装、常用python镜像源、tensorflow 深度学习强化学习教学
汀丶人工智能
2022/12/01
7490
AI人工智能算法工程师系列一(慕K学习分享)
从而提高图像分类的准确率。以下是一个使用VGG16模型的示例,该模型在ImageNet挑战中表现优异。
用户11127530
2024/05/29
2060
算法金 | LSTM 原作者带队,一个强大的算法模型杀回来了
时间拉回 2019 年,有「计算机界诺贝尔奖」之称图灵奖获得者公布,深度学习三巨头:Yoshua Bengio、Geoffrey Hinton、Yann LeCun 众望所归。
算法金
2024/06/08
4330
教程 | 如何用50行代码构建情感分类器
语言把人类联系在一起。语言是一种工具,它既可以让我们把想法和感受传达给另一个人,也能让我们理解别人的想法和感受。我们大多数人从 1 岁半到 2 岁开始说话。人脑是如何在如此年幼的时候掌握如此大量知识的,这仍是未解之谜。但是,人们已经发现大部分语言处理功能发生在大脑皮层内。
机器之心
2018/07/30
5020
教程 | 如何用50行代码构建情感分类器
[Python人工智能] 二十.基于Keras+RNN的文本分类vs基于传统机器学习的文本分类
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章分享了循环神经网络RNN的原理知识,并采用Keras实现手写数字识别的RNN分类案例及可视化呈现。这篇文章作者将带领大家用Keras实现RNN和LSTM的文本分类算法,并与传统的机器学习分类算法进行对比实验。基础性文章,希望对您有所帮助!同时,如果文章中存在错误或不足之处,也欢迎与我探讨,作者也是初学者,非常希望您的交流能促进共同成长。感谢参考文献中基基伟老师、知乎老师们的文章,共勉~
Eastmount
2023/02/28
1.4K0
[Python人工智能] 二十.基于Keras+RNN的文本分类vs基于传统机器学习的文本分类
[Kaggle] Spam/Ham Email Classification 垃圾邮件分类(RNN/GRU/LSTM)
练习地址:https://www.kaggle.com/c/ds100fa19 相关博文 [Kaggle] Spam/Ham Email Classification 垃圾邮件分类(spacy) [Kaggle] Spam/Ham Email Classification 垃圾邮件分类(BERT)
Michael阿明
2021/02/19
7750
[Kaggle] Spam/Ham Email Classification 垃圾邮件分类(RNN/GRU/LSTM)
NLP项目工作流程
文章目录 1. 谷歌Colab设置 2. 编写代码 3. flask 微服务 4. 打包到容器 5. 容器托管 参考 基于深度学习的自然语言处理 使用这篇文章的数据(情感分类)进行学习。
Michael阿明
2021/02/19
7210
NLP项目工作流程
使用CNN进行情感分类
参考文章: Embedding层详解 Keras: GlobalMaxPooling vs. MaxPooling
Michael阿明
2021/02/19
1.1K0
使用CNN进行情感分类
基于深度学习的自然语言处理(Deep Learning-based Natural Language Processing)
自然语言处理(Natural Language Processing,NLP)是人工智能领域中一个重要的研究方向。随着深度学习技术的快速发展,基于深度学习的自然语言处理方法逐渐成为主流。本文将介绍深度学习算法在自然语言处理中的应用,并探讨其在不同任务中的优势和挑战。
大盘鸡拌面
2023/09/28
8650
使用Keras 构建基于 LSTM 模型的故事生成器
LSTM (Long Short Term Memory, 长短期神经网络)是一种特殊的循环神经网络(RNN, Recurrent neural networks)。LSTM 能够通过更新单元状态来学习参数间的长期依赖关系,目前在机器翻译、语言识别等领域有着广泛应用。
deephub
2020/06/24
1.7K0
使用Keras 构建基于 LSTM 模型的故事生成器
推荐阅读
相关推荐
python函数——Keras分词器Tokenizer
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验