# 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 通常为
其中,
# 示例
创建一维卷积层
创建维度为(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)