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实现dict版图遍历示例
Feb 19 Python
python使用range函数计算一组数和的方法
May 07 Python
Python文件去除注释的方法
May 25 Python
python制作一个桌面便签软件
Aug 09 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
python+rsync精确同步指定格式文件
Aug 29 Python
基于python plotly交互式图表大全
Dec 07 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
Django自定义列表 models字段显示方式
Apr 03 Python
Python selenium实现断言3种方法解析
Sep 08 Python
Python中Numpy和Matplotlib的基本使用指南
Nov 02 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
php在字符串中查找另一个字符串
2008/11/19 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
vue - props 声明数组和对象操作
2020/07/30 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
跟老齐学Python之总结参数的传递
2014/10/10 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
使用实现pandas读取csv文件指定的前几行
2018/04/20 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
如何编写python的daemon程序
2021/01/07 Python
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
医疗保健专业人士购物网站:Scrubs & Beyond
2017/02/08 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
shell的种类有哪些
2015/04/15 面试题
大学生简历的个人自我评价
2013/12/04 职场文书
教师队伍管理制度
2014/01/14 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
松材线虫病防治方案
2014/06/15 职场文书
药店促销活动策划方案
2014/08/24 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL