当前位置: 首页 > 面试题库 >

Keras顺序模型输入层

傅正豪
2023-03-14
问题内容

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

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

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

问题答案:

好吧,实际上它实际上 一个隐式输入层,即您的模型是一个具有三层“输入,隐藏和输出”的“老式”神经网络的示例。这在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



 类似资料:
  • 问题内容: 我正在尝试合并两个模型的输出,并使用keras顺序模型将它们作为第三模型的输入。型号1: 型号1: 型号3: 直到这里,我的理解是,来自两个模型的输出x和y被合并并作为第三模型的输入。但是当我全都喜欢的时候 in1和in2是尺寸为10000 * 750的两个numpy ndarray,其中包含我的训练数据,而np_res_array是相应的目标。 这给了我错误,因为“列表”对象没有属性

  • 我有一个顺序模型定义如下: 我想更改此模型,以获取可变形状的输入。具体来说,第一个维度需要可变。阅读关于指定输入形状的Keras文档,我发现可以在input\u shape元组中使用None条目,其中None表示可能需要任何正整数。 对于现有模型,如果我将input\u形状从(2,4)更改为(None,4),我将收到以下错误: 我不确定,但我不相信当模型包含一个flatte()层时,可以指定可变的

  • 我一直在尝试使用Keras构建一个多输入模型。我来自使用顺序模型,并且只有一个相当直接的输入。我一直在查看StackOverflow上的留档(https://keras.io/getting-started/functional-api-guide/)和一些答案(如何在Keras 2.0中“合并”顺序模型?)。基本上,我想要的是让两个输入训练一个模型。一个输入是一段文本,另一个是从该文本中提取的一

  • 在模型中添加LSTM层之前,我不确定是否需要添加密集输入层。例如,使用以下模型: LSTM层是否为输入层,密集层是否为输出层(即无隐藏层)?或者Keras是否创建了一个输入层,这意味着LSTM层将是一个隐藏层?

  • 我正在免费试用Tricentis Tosca的轮胎,虽然教程进行得很顺利,但我第一次尝试自己做测试时遇到了一个我无法理解的情况。我决定尝试在Windows calculator应用程序上进行测试,我扫描了屏幕,选择了所有我关心的控件,并将其保存到一个名为“calculator”的模块中。然后,我创建了我的第一个名为“Add”的测试用例,拉入我的“Calculator”模块,并决定“单击”1,Plu

  • 问题内容: 我正在使用 Keras 运行一个简单的前馈网络。仅具有一个隐藏层,我想对每个输入与每个输出的相关性做出一些推断,并且我想提取权重。 这是模型: 为了提取重量,我写道: 不幸的是,我没有矩阵中的biass列,我知道Keras会自动将其放入。 您知道如何获取偏倚权重吗? 预先感谢您的帮助 ! 问题答案: 对于图层,返回两个元素的列表,第一个元素包含权重,第二个元素包含偏差。因此,您可以简单