深度学习在图像识别领域有着广泛的应用,其中MNIST数据集是入门深度学习的一个经典案例。本文将介绍MNIST数据集的基本信息,以及如何使用深度学习模型进行手写数字识别。
MNIST数据集
MNIST数据集包含60,000个训练样本和10,000个测试样本,每个样本都是一个28x28像素的手写数字图片。数据集中的数字从0到9,每个数字都有多个样本。
深度学习模型
在MNIST数据集上,可以使用多种深度学习模型进行手写数字识别,如卷积神经网络(CNN)和循环神经网络(RNN)。以下是一个简单的CNN模型示例:
import tensorflow as tf
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
训练模型
使用MNIST数据集训练上述模型:
model.fit(x_train, y_train, epochs=5)
评估模型
使用测试集评估模型性能:
test_loss, test_acc = model.evaluate(x_test, y_test)
print('Test accuracy:', test_acc)
扩展阅读
想要了解更多关于深度学习和MNIST数据集的内容,可以阅读以下文章:
MNIST数据集示例