• 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。

  • 相关阅读:
    delphi TMemoryStream读取html文件中文乱码
    tfrxbarcode2dview 和 tfrxbarcode not found 解决办法
    delphi ForceDirectories 用法
    Java Scanner next() 与 nextLine() 区别
    delphi 用superobject解析json
    delphi 方法可以提前声明
    delphi 判断文件是否被占用
    mysql explain用法和结果的含义
    C# SpinWait
    js异步编程
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/6485924.html
Copyright © 2020-2023  润新知