基于卷积神经网络的手写数字识别代码及数据集
时间: 2023-09-16 21:11:59 浏览: 110
以下是基于卷积神经网络的手写数字识别代码及数据集示例:
代码:
```
import tensorflow as tf
# 加载 MNIST 数据集
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train, x_test = x_train / 255.0, x_test / 255.0
# 定义模型
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10)
])
# 编译模型
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 训练模型
model.fit(x_train.reshape(-1,28,28,1), y_train, epochs=5)
# 评估模型
model.evaluate(x_test.reshape(-1,28,28,1), y_test, verbose=2)
```
数据集:
MNIST 是一个手写数字数据集,包含 60,000 张训练图片和 10,000 张测试图片,每张图片的大小为 28x28,像素值为 0 到 255 之间的灰度值。可以使用 TensorFlow 的 `mnist.load_data()` 方法加载数据集。
阅读全文