本文将介绍如何使用 TensorFlow 和 Keras 库来构建一个简单的手写数字识别模型。MNIST 数据集是一个非常流行的入门级数据集,它包含了 0 到 9 的手写数字图片。

1. 准备工作

在开始之前,请确保你已经安装了 TensorFlow 和 Keras。你可以通过以下命令进行安装:

pip install tensorflow

2. 加载数据集

MNIST 数据集已经内置在 Keras 中,你可以使用以下代码来加载数据集:

from tensorflow.keras.datasets import mnist

(train_images, train_labels), (test_images, test_labels) = mnist.load_data()

3. 数据预处理

在训练模型之前,我们需要对数据进行一些预处理。例如,将图像数据归一化到 0 到 1 的范围:

train_images = train_images / 255.0
test_images = test_images / 255.0

4. 构建模型

接下来,我们可以构建一个简单的神经网络模型:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten

model = Sequential()
model.add(Flatten(input_shape=(28, 28)))
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))

5. 编译模型

在训练模型之前,我们需要编译它:

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

6. 训练模型

现在我们可以使用训练数据来训练模型:

model.fit(train_images, train_labels, epochs=5)

7. 评估模型

训练完成后,我们可以使用测试数据来评估模型的性能:

test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Test accuracy: {test_acc}")

8. 模型预测

最后,我们可以使用训练好的模型来预测新的图像:

predictions = model.predict(test_images[:5])
print(predictions)

MNIST 数据集示例

更多关于 TensorFlow 和 Keras 的教程,请访问我们的 TensorFlow 教程页面