本文将为您介绍如何使用 Keras 框架来训练一个简单的 MNIST 手写数字识别模型。MNIST 数据集是机器学习领域中最常用的数据集之一,它包含 60,000 个训练样本和 10,000 个测试样本,每个样本都是一个 28x28 的灰度图像。
快速开始
安装必要的库: 首先,确保您已经安装了以下库:
pip install tensorflow numpy
导入数据集: Keras 提供了 MNIST 数据集的加载功能,可以直接导入。
from tensorflow.keras.datasets import mnist (train_images, train_labels), (test_images, test_labels) = mnist.load_data()
预处理数据: 为了让模型更好地学习,需要对图像数据进行预处理,例如归一化。
train_images = train_images / 255.0 test_images = test_images / 255.0
构建模型: 使用 Keras 构建一个简单的卷积神经网络模型。
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Conv2D, Flatten, MaxPooling2D model = Sequential([ Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1)), MaxPooling2D(pool_size=(2, 2)), Flatten(), Dense(128, activation='relu'), Dense(10, activation='softmax') ])
编译模型: 编译模型时,指定优化器、损失函数和评估指标。
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
训练模型: 使用训练数据来训练模型。
model.fit(train_images, train_labels, epochs=5)
评估模型: 使用测试数据来评估模型的性能。
test_loss, test_acc = model.evaluate(test_images, test_labels) print('Test accuracy:', test_acc)
保存模型: 如果您对模型满意,可以将其保存到文件中。
model.save('mnist_keras_model.h5')
扩展阅读
如果您想深入了解 Keras 和神经网络,可以阅读以下文章:
希望这篇教程能帮助您入门 MNIST Keras。祝您学习愉快!🎉