Keras顺序模型输入层

blackHoleDetector

在Keras中创建顺序模型时,我了解您在第一层中提供了输入形状。然后,此输入形状会构成隐式输入层吗?

例如,下面的模型明确指定了2个密集层,但这实际上是一个3层模型,即由输入形状隐含的一个输入层,一个具有32个神经元的隐藏密集层,然后一个具有10个可能输出的输出层组成的模型吗?

model = Sequential([
    Dense(32, input_shape=(784,)),
    Activation('relu'),
    Dense(10),
    Activation('softmax'),
])
Desertnaut

好吧,实际上它实际上一个隐式输入层,即您的模型是一个具有三层“输入,隐藏和输出”的“老式”神经网络的示例。这在Keras Functional API(请参阅文档中示例)更明确地可见,其中您的模型将编写为:

inputs = Input(shape=(784,))                 # input layer
x = Dense(32, activation='relu')(inputs)     # hidden layer
outputs = Dense(10, activation='softmax')(x) # output layer

model = Model(inputs, outputs)

实际上,此隐式输入层是您input_shape只需要在顺序API的模型的第一(显式)层中包含参数的原因-在后续层中,输入形状是根据先前的输出推断出来的(请参见的源代码中注释core.py

您也可以找到有关启发性文档tf.contrib.keras.layers.Input

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章