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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
详解Python 解压缩文件
Apr 09 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
Python imageio读取视频并进行编解码详解
Dec 10 Python
Django app配置多个数据库代码实例
Dec 17 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
解决Jupyter NoteBook输出的图表太小看不清问题
Apr 16 Python
pytorch DataLoader的num_workers参数与设置大小详解
May 28 Python
Python异常类型以及处理方法汇总
Jun 05 Python
Python IO文件管理的具体使用
Mar 20 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
用libTemplate实现静态网页的生成
2006/10/09 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
PHP和.net中des加解密的实现方法
2013/02/27 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
js评分组件使用详解
2017/06/06 Javascript
JS作用域链详解
2017/06/26 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
视觉直观感受若干常用排序算法
2017/04/13 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
python使用matplotlib绘制热图
2018/11/07 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
python中pdb模块实例用法
2021/01/15 Python
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
如何在C# winform中异步调用web services
2015/09/21 面试题
Linux常见面试题
2013/03/18 面试题
幼儿园亲子活动方案
2014/01/29 职场文书
工作推荐信范文
2014/05/10 职场文书
本溪关门山导游词
2015/02/09 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
初中生物教学随笔
2015/08/15 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang