Keras Conv1d 参数及输入输出详解

Posted siyuan1998

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keras Conv1d 参数及输入输出详解相关的知识,希望对你有一定的参考价值。

Conv1d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=1,bias=True)

  • filters:卷积核的数目(即输出的维度)
  • kernel_size:整数或由单个整数构成的list/tuple,卷积核的空域或时域窗长度
  • strides:整数或由单个整数构成的list/tuple,为卷积的步长。任何不为1的strides均为任何不为1的dilation_rata均不兼容
  • padding:补0策略,为”valid”,”same”或”casual”,”casual”将产生因果(膨胀的)卷积,即output[t]不依赖于input[t+1:]。当对不能违反事件顺序的时序信号建模时有用。“valid”代表只进行有效的卷积,即对边界数据不处理。“same”代表保留边界处的卷积结果,通常会导致输出shape与输入shape相同。
  • activation:激活函数,为预定义的激活函数名,或逐元素的Theano函数。如果不指定该函数,将不会使用任何激活函数(即使用线性激活函数:a(x)=x)

 

model.add(Conv1D(filters=nn_params["input_filters"],
                     kernel_size=nn_params["filter_length"],
                     strides=1,
                     padding=valid,
                     activation=nn_params["activation"],
                     kernel_regularizer=l2(nn_params["reg"])))

例:输入维度为(None,1000,4)

  第一维度:None

  第二维度:output_length = int((input_length - nn_params["filter_length"] + 1))

       在此情况下为:output_length = (1000 + 2*padding - filters +1)/ strides = (1000 + 2*0 -32 +1)/1 = 969

  第三维度:filters 

 

以上是关于Keras Conv1d 参数及输入输出详解的主要内容,如果未能解决你的问题,请参考以下文章

如何格式化从keras转换的coreml中conv1d/lstm nn的输入数据

Conv1D 层 Keras 的 input_shape

Keras CNN 参数太少

tensorflow中的1维卷积--conv1d用法

Linux|命令格式详解及echo命令参数用法详解

Keras LSTM实现多维输入输出时序预测实践详解