使用卷积神经网络(CNN)在Keras中非常简单。以下是一个简单的例子,演示如何构建一个简单的CNN模型:
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# 创建一个Sequential模型
model = Sequential()
# 添加第一个卷积层
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
# 添加最大池化层
model.add(MaxPooling2D(pool_size=(2, 2)))
# 添加第二个卷积层
model.add(Conv2D(64, (3, 3), activation='relu'))
# 添加最大池化层
model.add(MaxPooling2D(pool_size=(2, 2)))
# 添加Flatten层
model.add(Flatten())
# 添加全连接层
model.add(Dense(128, activation='relu'))
# 添加输出层
model.add(Dense(10, activation='softmax'))
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 打印模型结构
model.summary()
在这个例子中,我们创建了一个简单的CNN模型,包含两个卷积层和两个最大池化层,然后是一个Flatten层和两个全连接层。最后,我们编译了模型并打印了模型的结构。
你可以根据自己的需求和数据集调整模型的结构和参数,以获得更好的性能。训练和测试模型的方法与在Keras中的其他模型一样,你可以使用fit()方法进行训练和evaluate()方法进行测试。