厘清Keras中的shape,unit,input_shape
首发于我的博客:寒山雨的个人博客
新人(没错正是在下)在个性化Github上的Keras代码时,常常会遇到各种输入输出维度的报错,因此打算仔细梳理一下关于里面的shape, unit(Dense等Layer层的必需参数), input_shape, input_dim等参数。
顾名思义TensorFlow
由于TensorFLow以及将Keras封为御用前端,因此笔者的所有Keras代码都是基于tensorflow.keras
包实现的。但这里要说的不是二者的关系,而是借助这个tensorflow
这个名称了解Keras的各层之间的运行关系。
Tensor本意为“张量”,可以理解为高维度的向量,也可姑且理解为一组带着奇怪复杂形状的数据。而Flow本意为“流”,二者组成TensorFlow顾名思义解释为张量流。
也就是说,我们可以吧机器学习模型的运行看成一些张量组成的流。
这样讲还是很抽象,不过经过下面对各种shape的解释之后就很容易理解了。
shape
shape在keras中是一个turple
。
shape=(30,4,10) means
意味着一个三维数组:
- 维度1 - 30长度
- 维度2 - 4长度
- 维度