【发布时间】:2018-02-19 02:28:30
【问题描述】:
我是 Keras 的新手(不知何故是 TF),但我发现输入层的形状定义非常混乱。
所以在示例中,当我们有一个长度为 20 的一维向量作为输入时,形状被定义为
...Input(shape=(20,)...)
当需要为MNIST定义灰度图像的二维张量时,定义为:
...Input(shape=(28, 28, 1)...)
所以我的问题是为什么张量没有定义为(20) 和(28, 28)?为什么在第一种情况下添加第二个维度并留空?其次,必须定义通道数?
我知道这取决于层,因此 Conv1D、Dense 或 Conv2D 采用不同的形状,但第一个参数似乎是隐含的?
根据docs,密集需要(batch_size, ..., input_dim),但这与示例有什么关系:
谢谢
【问题讨论】:
-
除了我的回答之外,我还建议您直接使用函数式 API 模型。序列模型只是构建复杂模型的限制,当人们习惯了序列模型后,他们往往会在无法使用的情况下尝试继续使用它。
标签: tensorflow keras keras-layer