手写数字识别是机器学习的经典入门案例,通过 TensorFlow 可以轻松实现这一任务。以下是详细步骤:
1. 环境准备 📦
- 安装 TensorFlow:
pip install tensorflow
- 导入必要库:
import tensorflow as tf from tensorflow.keras import layers, models
- 加载 MNIST 数据集:
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
2. 数据预处理 🧼
- 归一化处理:
train_images = train_images / 255.0 test_images = test_images / 255.0
- 展平图像(可选):
train_images = train_images.reshape(-1, 28*28) test_images = test_images.reshape(-1, 28*28)
3. 构建模型 🏗️
model = models.Sequential([
layers.Dense(512, activation='relu', input_shape=(28*28,)),
layers.Dropout(0.2),
layers.Dense(10, activation='softmax')
])
4. 编译与训练 🚀
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=5)
5. 评估与预测 📊
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print(f"测试准确率: {test_acc*100:.2f}%")
6. 可视化结果 📝
import matplotlib.pyplot as plt
plt.imshow(test_images[0].reshape(28,28), cmap='gray')
plt.show()
如需深入了解 TensorFlow 与 Keras 的关系,可参考 TensorFlow Keras 概述教程 。