【问题标题】:Adding inputs to a convolutional neural network after convolution and pooling layers在卷积和池化层之后将输入添加到卷积神经网络
【发布时间】:2019-09-06 11:03:23
【问题描述】:

我正在构建一个卷积神经网络,该网络将包含一定数量的卷积和池化层。问题是我想在特征提取步骤(卷积+池化)之后添加一些额外的输入。

这个额外的输入将被添加到展平的特征图(全连接层的第一层)。我想问是否有任何文档可以在 tensorflow 中或(如果我幸运的话)在 keras 中实现这一点。 提前感谢您,祝您有美好的一天。

【问题讨论】:

    标签: tensorflow keras conv-neural-network


    【解决方案1】:

    您可以使用tf.keras.models.Model 类创建这样的模型。

    首先,我们可以为卷积层和池化层构建tf.keras.models.Sequential 模型。

    conv_model = tf.keras.models.Sequential( [ ... ] )
    

    那么正如你所说,我们需要一个全连接的 Dense 网络。我们像上面的模型一样创建它。

    fc_model = tf.keras.models.Sequential( [ ... ] )
    

    然后将Input 层与我们创建的模型组装在一起。

    input1 = Input( ... )
    input2 = Input( ... )
    
    cnn_output = conv_model( input1 )
    output = fc_model( [ cnn_output , input2 ] )
    
    model = tf.keras.models.Model( [ input1 , input2 ] , output )
    

    【讨论】:

    • 非常感谢@Shubham Panchal,你让我很开心
    • Keras 具有这种特殊能力,它可以在输入层甚至其他顺序模型上调用顺序模型。 :-)
    猜你喜欢
    • 2020-09-27
    • 2015-05-07
    • 2019-05-06
    • 2017-01-01
    • 1970-01-01
    • 2020-11-01
    • 2019-05-03
    • 1970-01-01
    相关资源
    最近更新 更多