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的Bottle框架写一个简单的服务接口的示例
Aug 25 Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 Python
django中ORM模型常用的字段的使用方法
Mar 05 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
pytorch之ImageFolder使用详解
Jan 06 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
520使用Python实现“我爱你”表白
May 20 Python
python实现简单的井字棋
May 26 Python
OpenCV-Python实现人脸磨皮算法
Jun 07 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
destoon官方标签大全
2014/06/20 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
基于python OpenCV实现动态人脸检测
2018/05/25 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
python如何实现不可变字典inmutabledict
2020/01/08 Python
python中doctest库实例用法
2020/12/31 Python
python实现经典排序算法的示例代码
2021/02/07 Python
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
C++面试题目
2013/06/25 面试题
艺术专业大学生自我评价
2013/09/22 职场文书
优秀员工自荐书
2013/12/19 职场文书
体育系毕业生自荐信
2014/06/28 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
大学军训口号大全
2015/12/24 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers
MySQL生成千万测试数据以及遇到的问题
2022/08/05 MySQL
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS