Keras 在哪里可以找到类输入的API文档?

Keras 在哪里可以找到类输入的API文档?,keras,Keras,在哪里可以找到类keras.layers.Input的API文档?我在上找不到。当您不习惯Keras时,很难阅读该文档 但有两种方法可用于构建keras模型: 顺序模型 模型功能API 输入层不用于顺序模型,仅用于模型 可能没有清晰的文档,因为Input层除了定义模型输入数据的形状外,什么都不做。(事实上,它创建了一个“张量”,可以用作其他层的输入) 假设您正在使用MNIST数据创建一个模型,该数据具有28x28像素的图像。然后,您的输入形状是(28,28)(请参见*) 创建模型时,您可以使

在哪里可以找到类
keras.layers.Input
的API文档?我在上找不到。

当您不习惯Keras时,很难阅读该文档

但有两种方法可用于构建keras模型:

  • 顺序
    模型
  • 模型
    功能API
输入
层不用于
顺序
模型,仅用于
模型

可能没有清晰的文档,因为
Input
层除了定义模型输入数据的形状外,什么都不做。(事实上,它创建了一个“张量”,可以用作其他层的输入)

假设您正在使用MNIST数据创建一个模型,该数据具有28x28像素的图像。然后,您的输入形状是
(28,28)
(请参见
*

创建模型时,您可以使用
输入
来定义:

#inp将是一个形状为(?,28,28)的张量
inp=输入((28,28))
然后,以下图层将使用此输入:

x=SomeKerasLayer(blablabla)(inp)
x=另一层(blabla)(x)
输出=最后一层(balblabla)(x)
当您创建模型时,您定义了数据将遵循的路径,在本例中是从输入到输出的路径:

model=模型(输入,输出)

使用
模型
api,还可以创建分支、多输入和多输出、分支等

如果有多个输入,您需要创建几个
Input

有关实际图层的更高级示例,请参见此处:


*
-这不是规则。根据输入数据的格式,此形状可以更改。有些模型不喜欢关心2D信息,而是使用形状平坦的图像
(784,)
。使用卷积层的模型通常会将输入数据塑造成具有一个通道的图像。(通常,图像有3个通道,RGB)


输入的参数
定义了
输入
方法的代码(2017年12月22日)

可能的论点:

  • 形状:定义具有可变批量大小的单个样本的形状(如上所示)
  • 批处理形状:在传递的形状中明确定义批处理的大小
  • 张量:不向模型传递输入形状,而是传递现有的张量,例如,您可以传递填充有值的张量,例如
    K.variable()
  • 其他参数:
    name
    dtype
    sparse

上述答案概括了大部分内容。但是正如评论中提到的,我认为
tf.contrib.keras
包含了关于
keras
的文档。链接包含相同的文档

如公认答案中所述,
Input
可与
model
一起使用,以表示张量。实际上,它返回一个张量。我的理解是,它有点类似于
tf.placeholder
,因为它允许我们仅根据
输入
对象定义模型,并在以后拟合模型。以下是tensorflow文档中的示例

# this is a logistic regression in Keras
x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)

从这里可以看出,
Input
的用法与
tf.placeholder的用法有些相似。谢谢您的帮助。我发现tensorflow有一些关于keras的API。这些
tf.contrib.keras
是否等于
keras
,例如,
tf.contrib.keras.layers
等于
keras.layers
?我不知道:(这是一个很好的答案。一个澄清的问题:我见过输入(shape=(None,256))或输入(shape=(256,))的例子。我理解None是占位符,但不理解None是第一个与第二个(vs third,…)的区别,或者该维度最终是如何解析的。对此部分有什么解释吗?
None
是一个可变大小的维度。形状完全取决于您打算如何处理数据。如果您创建
Input(shape=(None,256))
,在内部您将有一个带有shape
(?,?,256)的占位符
-可变批量大小、可变第二维度(通常为长度或时间步长)和最后维度中的256个元素(通常为通道或特征)。通常,这是在具有“长度”的数据中完成的,如时间序列、1D卷积等。