关于keras.layers.Conv1D的kernel_size参数使用介绍


Posted in Python onMay 22, 2020

今天在用keras添加卷积层的时候,发现了kernel_size这个参数不知怎么理解,keras中文文档是这样描述的:

kernel_size: 一个整数,或者单个整数表示的元组或列表, 指明 1D 卷积窗口的长度。

又经过多方查找,大体理解如下:

因为是添加一维卷积层Conv1D(),一维卷积一般会处理时序数据,所以,卷积核的宽度为1,而kernel_size就是卷积核的长度了,这样的意思就是这个卷积核是一个长方形的卷积核。

补充知识:tf.layers.conv1d函数解析(一维卷积)

一维卷积一般用于处理文本,所以输入一般是一段长文本,就是词的列表

函数定义如下:

tf.layers.conv1d(
inputs,
filters,
kernel_size,
strides=1,
padding='valid',
data_format='channels_last',
dilation_rate=1,
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None
)

比较重要的几个参数是inputs, filters, kernel_size,下面分别说明

inputs : 输入tensor, 维度(None, a, b) 是一个三维的tensor

None : 一般是填充样本的个数,batch_size

a : 句子中的词数或者字数

b :字或者词的向量维度

filters : 过滤器的个数

kernel_size : 卷积核的大小,卷积核其实应该是一个二维的,这里只需要指定一维,是因为卷积核的第二维与输入的词向量维度是一致的,因为对于句子而言,卷积的移动方向只能是沿着词的方向,即只能在列维度移动

一个例子:

inputs = tf.placeholder('float', shape=[None, 6, 8])
out = tf.layers.conv1d(inputs, 5, 3)

说明: 对于一个样本而言,句子长度为6个字,字向量的维度为8

filters=5, kernel_size=3, 所以卷积核的维度为3*8

那么输入6*8经过3*8的卷积核卷积后得到的是4*1的一个向量(4=6-3+1)

又因为有5个过滤器,所以是得到5个4*1的向量

画图如下:

关于keras.layers.Conv1D的kernel_size参数使用介绍

以上这篇关于keras.layers.Conv1D的kernel_size参数使用介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之编写类之三子类
Oct 11 Python
使用Python脚本对Linux服务器进行监控的教程
Apr 02 Python
彻底理解Python list切片原理
Oct 27 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
Nov 16 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
python实现求两个字符串的最长公共子串方法
Jul 20 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Python3.5常见内置方法参数用法实例详解
Apr 29 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
python+OpenCV实现图像拼接
Mar 05 Python
用 Python 制作地球仪的方法
Apr 24 Python
Python参数传递对象的引用原理解析
May 22 #Python
Python configparser模块常用方法解析
May 22 #Python
keras中的卷积层&池化层的用法
May 22 #Python
Keras Convolution1D与Convolution2D区别说明
May 22 #Python
Python pip安装模块提示错误解决方案
May 22 #Python
keras中的backend.clip用法
May 22 #Python
Pycharm修改python路径过程图解
May 22 #Python
You might like
PHP+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
详解如何在NodeJS项目中优雅的使用ES6
2017/04/22 NodeJs
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
JS实现多功能计算器
2020/10/28 Javascript
[00:32]2016完美“圣”典风云人物:Maybe宣传片
2016/12/05 DOTA
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python 求数组局部最大值的实例
2019/11/26 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
Python中如何定义一个函数
2016/09/06 面试题
Final类有什么特点
2012/04/25 面试题
数据管理员的自我评价分享
2013/11/15 职场文书
会计系个人求职信范文分享
2013/12/20 职场文书
迎新晚会邀请函
2014/02/01 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
素质教育学习心得体会
2016/01/19 职场文书