keras中的主要数据结构是model(模型),它提供定义完整计算图的方法。通过将图层添加到现有模型/计算图,我们可以构建出复杂的神经网络
Sequential模型字面上的翻译是顺序模型,给人的第一感觉是那种简单的线性模型,但实际上Sequential模型可以构建非常复杂的神经网络,包括全连接神经网络、卷积神经网络(CNN)、循环神经网络(RNN)、等等。这里的Sequential更准确的应该理解为堆叠,通过堆叠许多层,构建出深度神经网络
如下代码向模型添加一个带有64个大小为3 * 3的过滤器的卷积层:
from keras.models import Sequential
from keras.layers import Dense, Activation,Conv2D,MaxPooling2D,Flatten,Dropout
model = Sequential()
model.add(Conv2D(64, (3, 3), activation='relu'))
Sequential模型的核心操作是添加layers(图层),以下展示如何将一些最流行的图层添加到模型中:
#添加卷积层
model.add(Conv2D(64, (3, 3), activation='relu'))
#添加最大池化层
model.add(MaxPooling2D(pool_size=(2, 2)))
#添加全连接层
model.add(Dense(256, activation='relu'))
#添加dropout层
model.add(Dropout(0.5))
#Flattening layer(展平层)
model.add(Flatten())
基本的sequential开发流程:
首先,网络的第一层