将展平输出与其他数据集 keras python 连接起来

concatenate flatten output with and other datasets keras python

有 2 个数据集,对于第一个数据集,我想应用卷积并保留展平图层的结果,然后将其与另一个数据集连接起来,并做一个简单的前馈,这可以用 keras 实现吗?

def build_model(x_train,y_train):
    np.random.seed(7)

    left = Sequential()

    left.add(Conv1D(nb_filter= 6, filter_length=3, input_shape= (48,1),activation = 'relu', kernel_initializer='glorot_uniform'))
    left.add(Conv1D(nb_filter= 6,  filter_length=3, activation= 'relu'))
    #model.add(MaxPooling1D())
    print model
    #model.add(Dropout(0.2))
    # flatten layer 
    #https://www.quora.com/What-is-the-meaning-of-flattening-step-in-a-convolutional-neural-network
    left.add(Flatten())


    left.add(Reshape((48,1)))
    right = Sequential()

    #model.add(Reshape((48,1)))
# Compile model

    model.add(Merge([left, right], mode='sum'))
    model.add(Dense(10, 10))
    epochs = 100
    lrate = 0.01
    decay = lrate/epochs
    sgd = SGD(lr=lrate, momentum=0.9, decay=decay, nesterov=False)
              #clipvalue=0.5)
    model.compile(loss='mean_squared_error', optimizer='Adam')
    model.fit(x_train,y_train, nb_epoch =epochs, batch_size=10, verbose=1)

    #model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'] , )

    return model

您需要查看 functional API。您使用的顺序模型不是为接受多个网络输入而设计的。 按照 "Multi-input and multi-output models" 示例进行操作,您将立即使用它!