小编Sil*_*att的帖子

keras中的1d CNN音频

我想尝试实现所附图像的神经网络架构:1DCNN_model

考虑到我有一个数据集X,(N_signals, 1500, 40)其中40是我要对其进行一维卷积的要素数量。我的Y是,(N_signals, 1500, 2)并且我正在与keras。每个1d卷积都需要采用一个特征向量,如下图所示:1DCNN_convolution

因此,它必须获取1500个时间样本中的一个,将其传递到1d卷积层(沿时间轴滑动),然后将所有输出特征馈送到LSTM层。

我试图用这段代码实现第一个卷积部分,但是我不确定它在做什么,我不明白它一次只能占用一个块(也许我之前需要预处理输入数据?):

input_shape = (None, 40)
model_input = Input(input_shape, name = 'input')
layer = model_input
convs = []
for i in range(n_chunks):
    conv = Conv1D(filters = 40,
                  kernel_size = 10,
                  padding = 'valid',
                  activation = 'relu')(layer)
    conv = BatchNormalization(axis = 2)(conv)
    pool = MaxPooling1D(40)(conv)
    pool = Dropout(0.3)(pool)
    convs.append(pool)
out = Merge(mode = 'concat')(convs)

conv_model = Model(input = layer, output = out)
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?非常感谢你

python machine-learning neural-network deep-learning keras

6
推荐指数
1
解决办法
1368
查看次数