Keras Convolution1D与Convolution2D区别说明


Posted in Python onMay 22, 2020

以下是Convolution1D的例子:

from keras.layers import Convolution1D
from keras.models import Sequential
 
model=Sequential()
model.add(Convolution1D(
 filters=64,  #64个滤波器 -》生成 64深度
 kernel_size=3, #长度 为 3
 input_shape=(10,32), # 输入形状 就是 图片形状 (step,input_dim) input_dim 一般指词_dim
 padding='same' # 过滤模式
))
#Output Shape:(None, 10, 64) 
 
model.add(Convolution1D(
 filters=32,
 kernel_size=3,
 padding='same'
))
#Output Shape:(None, 10, 32)

以下是Convolution2D的例子:

from keras.layers import Convolution2D
from keras.models import Sequential
 
model=Sequential()
model.add(Convolution2D( 
 filters=64, # 64个滤波器 -》生成 64深度
 kernel_size=3, # 滤波器窗口 大小(3,3) 
 padding='same', # 过滤模式 
 input_shape=(256,256,3), # 输入形状 就是 图片形状 # 默认 data_format:channels_last (rows,cols,channels)
))
#Output Shape:(None, 256, 256, 64)
 
model.add(Convolution2D( 
 filters=32,
 kernel_size=3, 
 padding='same', # 过滤模式 
))
#Output Shape:(None, 256, 256, 32)

1.Convolution1D主要用于nlp,Convolution2D主要用于cv。实际上,Convolution1D也可以用于cv,Convolution2D也可以用于nlp,只是那个时候不是标准的卷积方式,而是经过一定变形的卷积。

2.可以看到Convolution1D的 只有3这一个参数,Convolution2D 却有两个参数3(即长度为3,宽度为3的卷积窗口)。表面上Convolution1D没有给出卷积的大小,Convolution2D给出了。实际上,在Convolution1D中,长度 为 句子 所有 word 的长度,宽度就是 句子中word的 dim (全称:dimension) ,宽度自动把整个tensor的宽度包裹住。

3.Convolution1D的input_shape是 ( 长度为10,宽度为32 )的tensor。Convolution2D的input_shape是 ( 宽度为256,长度为256,3个channel ) 的tensor。

下面画出大概的区别:

Keras Convolution1D与Convolution2D区别说明

补充知识:对于keras.layers.Conv1D的kernel_size参数的理解

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

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

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

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

以上这篇Keras Convolution1D与Convolution2D区别说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
收集的几个Python小技巧分享
Nov 22 Python
Python标准库urllib2的一些使用细节总结
Mar 16 Python
python在非root权限下的安装方法
Jan 23 Python
python+opencv识别图片中的圆形
Mar 25 Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 Python
Python3.5运算符操作实例详解
Apr 25 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
使用Python的Turtle绘制哆啦A梦实例
Nov 21 Python
pytorch中的自定义反向传播,求导实例
Jan 06 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 Python
python中selenium库的基本使用详解
Jul 31 Python
python 8种必备的gui库
Aug 27 Python
Python pip安装模块提示错误解决方案
May 22 #Python
keras中的backend.clip用法
May 22 #Python
Pycharm修改python路径过程图解
May 22 #Python
TensorFlow keras卷积神经网络 添加L2正则化方式
May 22 #Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 #Python
python实现猜单词游戏
May 22 #Python
Django使用rest_framework写出API
May 21 #Python
You might like
PHPShop存在多个安全漏洞
2006/10/09 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python制作钉钉加密/解密工具
2016/12/07 Python
Python中的连接符(+、+=)示例详解
2017/01/13 Python
python实现简易通讯录修改版
2018/03/13 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
Python OOP类中的几种函数或方法总结
2019/02/22 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
浅析Python __name__ 是什么
2020/07/07 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
实习护理工作自我评价
2013/09/25 职场文书
优秀信贷员先进事迹
2014/01/31 职场文书
大学专科求职信
2014/07/02 职场文书
2015年社区工作总结
2015/04/08 职场文书
医院员工辞职信范文
2015/05/12 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
Python机器学习之PCA降维算法详解
2021/05/19 Python
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL