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

 更新时间:2020年05月22日 09:48:13   作者:陈麒任  
这篇文章主要介绍了关于keras.layers.Conv1D的kernel_size参数使用介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

今天在用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参数使用介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python绘制雷达图时遇到的坑的解决

    Python绘制雷达图时遇到的坑的解决

    这篇文章主要介绍了Python绘制雷达图时遇到的坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 详解Python进行数据相关性分析的三种方式

    详解Python进行数据相关性分析的三种方式

    相关系数量化数据集的变量或特征之间的关联。这些统计数据对科学和技术非常重要,Python 有很好的工具可以用来计算它们。SciPy、NumPy 和Pandas相关方法以及数据可视化功能,感兴趣的可以了解一下
    2022-04-04
  • 利用pyuic5将ui文件转换为py文件的方法

    利用pyuic5将ui文件转换为py文件的方法

    今天小编就为大家分享一篇利用pyuic5将ui文件转换为py文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Django实现web端tailf日志文件功能及实例详解

    Django实现web端tailf日志文件功能及实例详解

    这篇文章主要介绍了Django实现web端tailf日志文件功能,本文通过实例给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Python中使用ipython的详细教程

    Python中使用ipython的详细教程

    ipython是一个非常流行的python解释器,比python解释器好用很多,本文重点给大家介绍Python中使用ipython的详细教程,需要的朋友参考下吧
    2021-06-06
  • Pycharm自带Git实现版本管理的方法步骤

    Pycharm自带Git实现版本管理的方法步骤

    这篇文章主要介绍了Pycharm自带Git实现版本管理的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python多进程及通信实现异步任务的方法

    python多进程及通信实现异步任务的方法

    这篇文章主要介绍了python多进程及通信实现异步任务需求,本人也是很少接触多进程的场景,对于python多进程的使用也是比较陌生的。在接触了一些多进程的业务场景下,对python多进程的使用进行了学习,觉得很有必要进行一个梳理总结,感兴趣的朋友一起看看吧
    2022-05-05
  • Tensorflow 合并通道及加载子模型的方法

    Tensorflow 合并通道及加载子模型的方法

    今天小编就为大家分享一篇Tensorflow 合并通道及加载子模型的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python端口扫描简单程序

    Python端口扫描简单程序

    这篇文章主要为大家详细介绍了Python端口扫描简单程序的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • python中对信号的处理详解

    python中对信号的处理详解

    这篇文章主要给大家介绍了关于python中对信号处理的相关资料, 计算机借助信号来接收和发送各种命令,操作系统针对其编程要接收或生成的每种命令列出了至少一个信号,需要的朋友可以参考下
    2021-07-07

最新评论