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卷积等。