GlobalMaxPooling1D和MaxPooling1D的区别
区别:
**
1.GlobalMaxPooling1D:
**
在steps维度(也就是第二维)对整个数据求最大值。
比如说输入数据维度是[10, 4, 10],那么进过全局池化后,输出数据的维度则变成[10, 10]。
**
2.MaxPooling1D:
**
也是在steps维度(也就是第二维)求最大值。但是限制每一步的池化的大小。 比如,输入数据维度是[10, 4, 10],池化层大小pooling_size=2,步长stride=1,那么经过MaxPooling(pooling_size=2, stride=1)后,输出数据维度是[10, 3, 10]。
k_input = keras.Input(shape=(config.max_seq_length,))print(k_input.shape)embedding = Embedding(config.vocab_size, config.embedding_dim, input_length=config.max_seq_length)embedding_input = embedding(k_input)# 加入一维卷积,conv shape为(None, 48(50-3+1), 128(卷积核数))conv_1 = Conv1D(config.num_filters, config.kernel_size)(embedding_input)# 加入一维池化,在第二个维度上向下滑pool_1(None, 46(48-3+1), 128)# pool_1 = MaxPooling1D(3, 1)(conv_1)# # 再加入一维卷积,conv_2(None, 44(46-3+1), 64)# conv_2 = Conv1D(64, config.kernel_size)(pool_1)# 再加入一维池化,pool_2(None, 42(44-3+1), 64)# pool_2 = MaxPooling1D(3, 1)(conv_2)# 最后全局池化,按照第二个维度取最大值,所以第二个维度就消失了pool_3(None, 64)pool_3 = GlobalMaxPooling1D()(conv_1)print(pool_3.shape)print(222222)print(embedding_input.shape)# global_embedding_input = GlobalAveragePooling1D()(embedding_input)hidden1_layer_tensor = Dense(64, activation='relu')(pool_3)output_layer_tensor = Dense(config.num_classes, activation="softmax")(hidden1_layer_tensor)model = keras.Model(inputs=k_input, outputs=output_layer_tensor)model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=["accuracy"])
GlobalMaxPooling1D和MaxPooling1D的区别相关推荐
- 文本分类从入门到精通—代码展示
文本分类从入门到精通 本文整理自笔者年前在知乎上的一个回答: 大数据舆情情感分析,如何提取情感并使用什么样的工具?(贴情感标签) 1.我将数据筛选预处理好,然后分好词. 2.是不是接下来应该与与情感词 ...
- 文本分类从入门到精通
在这篇文章中,笔者将讨论自然语言处理中文本分类的相关问题.笔者将使用一个复旦大学开源的文本分类语料库,对文本分类的一般流程和常用模型进行探讨.首先,笔者会创建一个非常基础的初始模型,然后使用不同的特征 ...
- tensorflow包_在Keras和Tensorflow中使用深度卷积网络生成Meme(表情包)文本
作者 | dylan wenzlau 来源 | Medium 编辑 | 代码医生团队 本文介绍如何构建深度转换网络实现端到端的文本生成.在这一过程中,包括有关数据清理,训练,模型设计和预测算法相关的内 ...
- 自然语言处理--keras实现一维卷积网络对IMDB 电影评论数据集构建情感分类器
为什么在 NLP 分类任务中选择 CNN 呢? 1.CNN神经网络可以像处理图像一样处理文本并"理解"它们 2.主要好处是高效率 3.在许多方面,由于池化层和卷积核大小所造成的限制 ...
- Keras学习笔记(四):MaxPooling1D和GlobalMaxPooling1D的区别
区别: 1.GlobalMaxPooling1D: 在steps维度(也就是第二维)对整个数据求最大值. 比如说输入数据维度是[10, 4, 10],那么进过全局池化后,输出数据的维度则变成[10, ...
- RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别
1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...
- C++ 笔记(28)— C++ 中 NULL和 nullptr 的区别
最近看公司代码的时候发现在判断指针是否为空的时候,有的时候用的是 NULL, 有的时候用的是 nullptr 感觉很奇怪,好奇心驱使我查了下两者的区别,发现还是有很多细节需要学习的. 1. NULL ...
- gcc 和 g++ 的联系和区别,使用 gcc 编译 c++
GCC 编译器已经为我们提供了调用它的接口,对于 C 语言或者 C++ 程序,可以通过执行 gcc 或者 g++ 指令来调用 GCC 编译器. 实际使用中我们更习惯使用 gcc 指令编译 C 语言程序 ...
- Python2 与 Python3 区别
Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...
最新文章
- Android 中文 API (25) —— ZoomControls
- 前端随笔整理[5.14]
- 关于Linux服务器改变为普通用户进行运维的操作手记
- 读书笔记_打开量化投资的黑箱07
- linux模块builtin是什么意思,Linux命令手册
- CSS3 Gradient渐变
- 安卓仿苹果键盘输入法_仿ios输入法
- android adb命令安装apk的步骤
- 有什么简单办法从格式复杂的 Excel中提取数据
- Openstack日常运维
- Promise优缺点
- Gartner 魔力四象限 -- 应用安全检测
- 信息安全的 CIA 三要素
- 超全!182所大学的考研复试参考书目/复试通知
- 浅谈心电信号处理(3)-- 心电滤波简述
- 互联网利用短信网关收发短信
- Tableau实现跑道图
- 基于单片机的血压计设计
- C#汉字转全拼,首拼
- 处理网页视频中的字幕