# convolution1dLayer


一维卷积层

函数库: TyDeepLearning

# 语法

layer = convolution1dLayer(NumChannels, NumFilters, FilterSize; Stride=1, PaddingMode="same", PaddingSize=0, DilationFactor=1, Bias=false, WeightsInitializer="normal", BiasInitializer="zeros")

# 说明

layer = convolution1dLayer(NumChannels, NumFilters, FilterSize; Stride=1, PaddingMode="same", PaddingSize=0, DilationFactor=1, Bias=false, WeightsInitializer="normal", BiasInitializer="zeros")创建一个一维卷积层。示例

对输入数据计算一维卷积,该数据的 shape 通常为 ,其中是 batch size, 是空间维度,是序列的长度。 对于每个 batch 中的数据,其 shape 为 ,公式定义如下:

其中, 为 cross-correlation , 为输入空间维度, 对应输出的第 个空间维度, 的范围在 [0,−1] 内, 是 shape 为 FilterSize 的卷积核切片,其中 FilterSize 是卷积核的宽度。 为偏置参数, 为输入数据。 完整卷积核的 shape 为

# 示例

创建一维卷积层

创建维度为(1,120,640)、元素均为 1 的数组。

using TyDeepLearning
set_backend(:mindspore)
array = ones(Float32, (1, 120, 640))

创建一个一维卷积层,输入通道数为 120,输出通道数为 240,一维卷积核大小为 4。使用该层处理数组并输出结果维度。

layer = convolution1dLayer(120, 240, 4)
print(size(TyDeepLearning.predict(layer, array)))
(1, 240, 640)

# 输入参数

NumChannels-输入维度
标量

convolution1dLayer层输入数据的空间维度。

数据类型: Int64

NumFilters-输出维度
标量

convolution1dLayer层输出数据的空间维度。

数据类型: Int64

FilterSize-卷积核尺寸
标量

指定一维卷积核的宽度。

数据类型: Int64

Stride-步长
标量

一维卷积核的移动步长。默认值:1。

数据类型: Int64

PaddingMode-填充模式
字符串

指定填充模式。可选值为 “same”,”valid”,”pad”。默认值:”same”。

  • same:输出的宽度与输入整除 Stride 后的值相同。若设置该模式,PaddingSize 的值必须为 0。

  • valid:在不填充的前提下返回有效计算所得的输出。不满足计算的多余像素会被丢弃。如果设置此模式,则 PaddingSize 的值必须为 0。

  • pad:对输入进行填充。在输入对两侧填充 PaddingSize 大小的 0。如果设置此模式,PaddingSize 的值必须大于或等于 0。

数据类型: string

PaddingSize-填充尺寸
标量

输入两侧填充的数量。值应该要大于等于 0,默认值:0。

数据类型: Int64

DilationFactor-一维卷积核膨胀尺寸
标量

一维卷积核膨胀尺寸。若 k>1 ,则kernel间隔 k 个元素进行采样。 k 取值范围为 [1, L]。默认值:1。

数据类型: Int64

Bias-是否添加偏置
布尔值

convolution1dLayer层是否添加偏置参数。默认值:false。

数据类型: bool

WeightsInitializer-权重参数的初始化方法
字符串

权重参数的初始化方法。它可以是 String 或 Number。当使用 String 时,可选 ”TruncatedNormal”,”Normal”,”Uniform”, ”HeUniform” 和 ”XavierUniform” 分布以及常量 ”One” 和 ”Zero” 分布的值,可接受别名 ”xavier_uniform”,”he_uniform”,”ones” 和 ”zeros”。上述字符串大小写均可。默认值:”normal”。

数据类型: string

BiasInitializer-偏置参数的初始化方法
字符串

偏置参数的初始化方法。可以使用的初始化方法与 ”WeightsInitializer” 相同。默认值:”zeros”。

数据类型: string

# 输出参数

layer-一维卷积层
网络对象

输出为一个一维卷积层

# 另请参阅

predict | Gradient Based Learning Applied to Document Recognition (opens new window)