zoukankan      html  css  js  c++  java
  • Convolution1D与Convolution2D区别

    以下是Convolution1D的例子:

    # apply a convolution 1d of length 3 to a sequence with 10 timesteps,
    # with 64 output filters
    model = Sequential()
    model.add(Convolution1D(64, 3, border_mode='same', input_shape=(10, 32)))
    # now model.output_shape == (None, 10, 64)
    
    # add a new conv1d on top
    model.add(Convolution1D(32, 3, border_mode='same'))
    # now model.output_shape == (None, 10, 32)

    以下是Convolution2D的例子:

    # apply a 3x3 convolution with 64 output filters on a 256x256 image:
    model = Sequential()
    model.add(Convolution2D(64, 3, 3, border_mode='same', input_shape=(3, 256, 256)))
    # now model.output_shape == (None, 64, 256, 256)
    
    # add a 3x3 convolution on top, with 32 output filters:
    model.add(Convolution2D(32, 3, 3, border_mode='same'))
    # now model.output_shape == (None, 32, 256, 256)

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

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

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

  • 相关阅读:
    Hadoop命令解释
    sql的嵌套
    设计模式1 订阅者模式
    我的桌面515
    夜黑我也黑
    测试测试
    竖表转横表(支持多列)
    昨天晚上做了一个梦
    viewpage插件修改版增加 复制媒体文件地址
    PhireeNote 只有自动保存功能的简易记事本
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/6485924.html
Copyright © 2011-2022 走看看