理解keras中的数据表示形式:张量

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,)。