keras中的数据表示形式是张量,张量可以看作是向量、矩阵的自然推广。

模型首先要知道输入数据的shape,有以下方法来指定第一层输入数据的shape:

  • 传递一个input_shape关键字参数,input_shape是一个tuple类型,也可以填入None,None表示此位置可以是任何正整数。
  • 有些2D层,可以通过输入维度input_dim来指定shape,一些2D是与层可以通过指定参数input_dim和input_length来指定shape。

例如,一个一阶张量[1, 2, 3]的shape是(3,);

一个二阶张量[ [1, 2, 3], [4, 5, 6]]的shape是(2,3);

一个三阶张量

[
  [
    [1],
    [2],
    [3]
  ],
  [
    [4],
    [5],
    [6]
  ]
]

的shape是(2,3,1),以此类推。

如果模型的第一层输入的数据是input_dim = 784,即相当于属于一个784维的一阶张量,shape为(784,)。