今天在用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参数使用介绍

本文地址: http://www.cppcns.com/jiaoben/python/313960.html

python内核大小_关于keras.layers.Conv1D的kernel_size参数使用介绍相关推荐

  1. tf.keras.layers.Conv1D 一维卷积 示例

    tf.keras.layers.Conv1D 一维卷积 示例 import tensorflow as tf from tensorflow import keras import numpy as ...

  2. python cnn 实例_在Keras中CNN联合LSTM进行分类实例

    我就废话不多说,大家还是直接看代码吧~ def get_model(): n_classes = 6 inp=Input(shape=(40, 80)) reshape=Reshape((1,40,8 ...

  3. python损失函数实现_在Keras中实现自定义损失函数

    我是Keras,神经网络和Python的新手,但我非常渴望学习...我想使用我自己的自定义损失函数,但我有麻烦,因为有上述障碍:) 这就是我要做的:是一个浮点数,可以是负数也可以是正 这个模型将预测一 ...

  4. python打乱数据集_在Keras中利用np.random.shuffle()打乱数据集实例

    我就废话不多说了,大家还是直接看代码吧~ from numpy as np index=np.arange(2000) np.random.shuffle(index) print(index[0:2 ...

  5. 用python比较大小_用python比较大小

    1.比较'ax' 代码为: print('ax' print(ord('a')) print(ord('x')) #字符串是通过ASCII表来进行顺次为比较大小 2.is与==的区别?print(1 ...

  6. python 数据编码器_用Keras训练我的数据自动编码器

    我有一个自动编码器写在Keras,如下所示.但是,我有以下错误:ValueError: Error when checking model input: the list of Numpy array ...

  7. 中value大小_如何在Spring/SpringBoot 中做参数校验?你需要了解的都在这里!

    数据的校验的重要性就不用说了,即使在前端对数据进行校验的情况下,我们还是要对传入后端的数据再进行一遍校验,避免用户绕过浏览器直接通过一些 HTTP 工具直接向后端请求一些违法数据. 本文结合自己在项目 ...

  8. python接口 同花顺_这是真的么 | 学会了用Python预测股票价格

    文章来源于微信公众号:机器学习与python实战 原文链接:请点击 文章仅用于学习交流,如有侵权请联系删除 作为一种技术手段,预测在金融.证券领域的应用非常广泛,尤其是对股票价格的预测.我们介绍一下获 ...

  9. tf.keras.layers.Conv2D

    tensorflow中tensor的维度顺序默认是 [batch, height, width, channel] 2D卷积层 keras.layers.Conv2D(filters, kernel_ ...

最新文章

  1. VBScript中InStr函数的用法
  2. 威刚(A-DATA)DDR3-1600震撼评测
  3. linux shell 指定端口 杀进程 结束进程
  4. 传统IP网络与MPLS网络转发的区别
  5. Python基础教程:嵌套函数、闭包
  6. pygame的学习以及python的巩固(窗口尺寸的显示)
  7. 【技术维新 践行精彩】大数据与私有云
  8. OpenCV显示中文汉字,未使用CvxText和FreeType库
  9. PLSQL 安装+配置( Oracle数据库连接工具 )
  10. linux网卡聚合软件下载,linux网卡聚合
  11. C#获取周一、周日的日期 函数类
  12. 如何保护网页按钮不被XSS自动点击
  13. HTML5实践 -- 使用css装饰你的图片画廊
  14. python爬虫爬取微信公众号的阅读数、喜爱数、文章标题和链接等信息
  15. liunx机器开放8080端口
  16. shiny 服务器未响应,shiny-server 安装过程出现问题总结
  17. 1.ISIS基本理论
  18. 《向上生长》读书笔记
  19. 0017---正方体的表面积和体积
  20. tableau无法建立连接_Tableau入门(一):数据连接

热门文章

  1. 现代c++之列表初始化/统一初始化
  2. idea git里的用户怎么修改
  3. Spring的Java配置
  4. 浅析请求转发和重定向
  5. 操作系统:第二章 进程管理1 - 进程、线程
  6. 密码学系列之:碰撞抵御和碰撞攻击collision attack
  7. C语言满分代码:L1-059 敲笨钟 (20分)
  8. 28行满分代码:L1-048 矩阵A乘以B (15分)
  9. Str库系列函数合集(strlen、strcpy、strcmp、strcat、strchr等)
  10. linux -组管理和权限管理