手写数字识别及数据集代码
时间: 2024-06-18 10:05:35 浏览: 158
手写数字识别是指通过计算机程序识别手写数字的过程。其中,数据集是训练模型的重要组成部分。常用的手写数字识别数据集有MNIST和Fashion-MNIST,这两个数据集均包含大量手写数字图像及其对应的标签。
下面是Python代码示例,演示如何使用MNIST数据集进行手写数字识别:
```
import tensorflow as tf
from tensorflow import keras
import numpy as np
# 加载MNIST数据集
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
# 数据预处理
train_images = train_images / 255.0
test_images = test_images / 255.0
# 定义模型
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10)
])
# 编译模型
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 训练模型
model.fit(train_images, train_labels, epochs=10)
# 评估模型
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('\nTest accuracy:', test_acc)
# 预测结果
probability_model = tf.keras.Sequential([model, tf.keras.layers.Softmax()])
predictions = probability_model.predict(test_images)
```