复杂一点手写数字识别的python代码
时间: 2024-12-31 13:30:01 浏览: 4
手写数字识别通常是基于机器学习中的图像分类任务,最常用的是深度学习框架,比如TensorFlow或PyTorch。这里是一个简单的使用Keras库(由TensorFlow支持)进行MNIST手写数字识别的例子:
```python
# 导入必要的库
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Flatten
from keras.utils import to_categorical
# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(-1, 28*28) / 255.0
x_test = x_test.reshape(-1, 28*28) / 255.0
y_train = to_categorical(y_train, 10)
y_test = to_categorical(y_test, 10)
# 构建模型
model = Sequential([
Flatten(input_shape=(28, 28)),
Dense(128, activation='relu'),
Dense(64, activation='relu'),
Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=10, validation_split=0.2)
# 评估模型
test_loss, test_acc = model.evaluate(x_test, y_test)
print(f"Test accuracy: {test_acc}")
# 预测
predictions = model.predict_classes(x_test[:1]) # 示例预测第一个测试样本
```
这个代码片段创建了一个简单的全连接神经网络,用于对MNIST数据集中的手写数字进行分类。首先加载数据,然后训练模型并评估其性能。
阅读全文