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基础教程之lambda表达式使用方法
Feb 12 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
Python计算已经过去多少个周末的方法
Jul 25 Python
python制作一个桌面便签软件
Aug 09 Python
python3.6连接MySQL和表的创建与删除实例代码
Dec 28 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
python实现textrank关键词提取
Jun 22 Python
python根据多个文件名批量查找文件
Aug 13 Python
解决python3 requests headers参数不能有中文的问题
Aug 21 Python
关于Python3 类方法、静态方法新解
Aug 30 Python
django 模型字段设置默认值代码
Jul 15 Python
python读取mnist数据集方法案例详解
Sep 04 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
PHP中的cookie
2006/11/26 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
js实现右键菜单功能
2016/11/28 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
微信小程序本地存储实现每日签到、连续签到功能
2019/10/09 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python实现从url中提取域名的几种方法
2014/09/26 Python
八大排序算法的Python实现
2021/01/28 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
图解Python变量与赋值
2018/04/03 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
Python扫描端口的实现
2021/01/25 Python
大韩航空官方网站:Korean Air
2017/10/25 全球购物
环境科学毕业生自荐信
2013/11/21 职场文书
工程项目建议书范文
2014/03/12 职场文书
周年庆典主持词
2014/04/02 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
大学班级文化建设方案
2014/05/06 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
js作用域及作用域链工作引擎
2022/07/07 Javascript