Keras是由python编写的神经网络库,序贯模型(sequential)[1]是由keras提供的一种由多个网络层的线性堆叠,可以理解为多个网络层的线性函数拟合堆叠。
Keras序贯模型中有两种实现方法,可以通过向Sequential模型传递一个layer的list来构造该模型;也可以通过.add()方法一个个的将layer加入模型中。
第一种实现方式如下:
model = Sequential([Dense(32,units=784),Activation(‘relu’),Dense(10),Activation(‘softmax’),])
其中,神经元数目为784,输入的通道数为32,输出的通道数为10,
第二种实现方式为.add()方法将layer加入模型中,
model = Sequential()
model.add(Dense(32,input_shape=(784,)))
model.add(Activation('relu'))
model.add(Dense(10))
model.add(Activation('softmax'))
与第一种实现方式完全等价。序贯模型需要知道输入数据的shape,因此,Sequential的第一层需要接受一个关于输入数据shape的参数,后面的各个层则可以自动的推导出中间数据的shape,因此不需要为每一层都指定这个参数。
参考文献
[1] Ketkar N. Introduction to keras[M]//Deep learning with Python. Apress, Berkeley, CA, 2017: 97-111.