本文将提供一个使用 Keras 库实现卷积神经网络(CNN)的简单示例。CNN 是深度学习中用于图像识别、分类等任务的重要模型。
数据准备
在开始之前,我们需要准备一些数据。这里我们可以使用 Keras 提供的内置数据集,例如 MNIST 手写数字数据集。
from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
模型构建
接下来,我们构建一个简单的 CNN 模型。这个模型包含一个卷积层、一个池化层和一个全连接层。
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))
模型编译与训练
构建好模型后,我们需要编译和训练它。
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
模型评估
训练完成后,我们可以使用测试数据集来评估模型的性能。
test_loss, test_acc = model.evaluate(x_test, y_test)
print('Test accuracy:', test_acc)
扩展阅读
想要了解更多关于 Keras 和 CNN 的知识,可以参考以下链接:
CNN 模型结构图