关于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学习之编写查询ip程序
Feb 27 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
django manage.py扩展自定义命令方法
May 27 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
Dec 31 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
python pygame入门教程
Jun 01 Python
Python开发简易五子棋小游戏
May 02 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脚本的10个技巧(3)
2006/10/09 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
2016/11/16 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
详解如何让Express支持async/await
2017/10/09 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
python绘制多个子图的实例
2019/07/07 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
keras 多任务多loss实例
2020/06/22 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
乡下人家教学反思
2014/02/01 职场文书
业务总经理岗位职责
2014/02/03 职场文书
公司开业庆典主持词
2014/03/21 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
滴水洞导游词
2015/02/10 职场文书
八一建军节慰问信
2015/02/14 职场文书