输出一个手写数字识别Python代码
时间: 2024-02-03 07:15:08 浏览: 74
好的,以下是一个基于MNIST数据集的手写数字识别Python代码:
```python
import tensorflow as tf
from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt
# 加载数据集
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, 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)
# 预测数字
predictions = model.predict(test_images)
print(np.argmax(predictions[0]))
# 显示数字图片
plt.imshow(test_images[0], cmap=plt.cm.binary)
plt.show()
```
这个代码会加载MNIST数据集,将训练图像和测试图像的像素值缩放到0和1之间,定义一个具有两个隐藏层的神经网络模型,使用Adam优化器和交叉熵损失函数进行编译,训练5次,评估测试数据集上的准确性,并输出第一张测试图像的预测结果和图像本身。
阅读全文