在这个教程中,我们将学习如何使用 Keras 框架来训练一个简单的神经网络,用于识别 MNIST 数据集中的手写数字。
安装依赖
在开始之前,请确保您已经安装了以下依赖项:
- Python 3.x
- TensorFlow 2.x
- Keras
您可以通过以下命令安装这些依赖项:
pip install tensorflow
数据集介绍
MNIST 数据集是一个手写数字数据库,包含 60,000 个训练样本和 10,000 个测试样本。每个样本都是一个 28x28 的灰度图像,代表一个手写数字。
MNIST 数据集示例
模型构建
以下是构建 MNIST 分类器的代码示例:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten
# 构建模型
model = Sequential([
Flatten(input_shape=(28, 28)),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
训练模型
接下来,我们将使用训练数据来训练模型:
# 加载数据集
mnist = tf.keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
# 归一化数据
train_images, test_images = train_images / 255.0, test_images / 255.0
# 训练模型
model.fit(train_images, train_labels, epochs=5)
评估模型
最后,我们使用测试数据来评估模型的性能:
# 评估模型
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"测试准确率: {test_acc:.4f}")
扩展阅读
如果您想了解更多关于 Keras 和 MNIST 的内容,请访问以下链接: