当前位置: 首页 > 知识库问答 >
问题:

如何在Keras中创建输入层?[复制]

公西星文
2023-03-14

根据教程,这是一个简单的三层顺序神经网络示例:

model = keras.Sequential(
    [
        layers.Dense(2, activation="relu", name="layer1"),
        layers.Dense(3, activation="relu", name="layer2"),
        layers.Dense(4, name="layer3"),
    ]
) 

这是否意味着输入层是2个神经元?因为我发现如果我给模型一个不同大小的向量,它就会改变。如果我拟合到除2以外的任何大小向量,我会预料到一个错误,因为输入层只有2个神经元。

共有2个答案

钱季
2023-03-14

第一层,即输入层,应该有尽可能多的神经元和特征(在这种情况下,有784个特征,

这是不正确的,你可以在图层中只放一个神经元,它就会工作,但是它的权重必须等于特征的数量。

颜啸
2023-03-14

您需要在顺序模型的第一层中定义输入形状。试试这个:

    from keras.models import Sequential
    from keras.layers import Dense, Activation
    model = Sequential([
                        Dense(32, input_shape=(784,)),
                        Activation('relu'),
                        Dense(10),
                        Activation('softmax'),
                        ])
 类似资料:
  • 在模型中添加LSTM层之前,我不确定是否需要添加密集输入层。例如,使用以下模型: LSTM层是否为输入层,密集层是否为输出层(即无隐藏层)?或者Keras是否创建了一个输入层,这意味着LSTM层将是一个隐藏层?

  • 问题内容: 我拥有的代码(我无法更改)将Resnet与input_tensor一起使用。 研究源代码,ResNet50函数使用创建一个新的keras输入层,然后创建模型的其余部分。这是我要用自己的模型复制的行为。我从h5文件加载我的模型。 由于此模型已经具有输入层,因此我想用定义的新输入层替换它。 如何替换输入层? 问题答案: 使用以下方法保存模型时: 它将保存以下内容: 模型的体系结构,允许创建

  • 问题内容: 在Keras中创建顺序模型时,我知道您在第一层中提供了输入形状。然后,此输入形状会构成 隐式 输入层吗? 例如,下面的模型明确指定了2个密集层,但这实际上是一个3层模型,即由输入形状隐含的一个输入层,一个具有32个神经元的隐藏密集层,然后一个具有10个可能输出的输出层组成的模型吗? 问题答案: 好吧,实际上它实际上 是 一个隐式输入层,即您的模型是一个具有三层“输入,隐藏和输出”的“老

  • 问题内容: 由于在TensorFlow 2.0中,他们计划统一keras下的所有高级API(我不太熟悉)并完全删除Sessions,我想知道: 如何创建具有自定义渐变的自定义keras图层? 我看过(非常有限)在keras中创建自定义图层的指南,但是它没有描述如果我们希望操作具有自定义渐变应该怎么做。 问题答案: 首先,在keras下对API(如您所称的)的“统一”并不能阻止您像在TensorFl

  • 问题内容: 我认为当输入值为0时将输出0,因此以下各层可能会跳过计算或其他操作。 如何运作? 例: 实际输出为:(数字是随机的) 但是,我认为输出将是: 问题答案: 实际上,设置嵌入层不会导致返回零向量。而是,嵌入层的行为不会改变,它将返回索引为零的嵌入向量。您可以通过检查Embedding层权重(即在您提到的示例中为)来确认这一点。取而代之的是,它将影响诸如RNN层之类的后续层的行为。 如果检查

  • 问题内容: 我希望我的模型使用cv2或类似格式来调整输入图像的大小。 我已经看到了的用法,但是我更愿意编写自己的生成器,并简单地使用调整第一层图像的大小。 我该怎么做? 问题答案: 如果您正在使用tensorflow后端,则可以使用函数调整图层中图像的大小。 这是一个演示相同情况的小例子: