在这个教程中,我们将学习如何使用 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 的内容,请访问以下链接: