本文将介绍如何使用 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 教程页面。