python实现Mnist手写体数字识别
以下是一个基于Python的Mnist手写体数字识别程序:
- 导入必要的库和数据集
import tensorflow as tf
from tensorflow import keras
import numpy as np
mnist = keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
- 数据预处理
# 将像素值缩放到0-1之间
x_train, x_test = x_train / 255.0, x_test / 255.0
- 构建模型
model = keras.models.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dropout(0.2),
keras.layers.Dense(10, activation='softmax')
])
- 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
- 训练模型
model.fit(x_train, y_train, epochs=5)
- 评估模型
model.evaluate(x_test, y_test, verbose=2)
- 预测数字
predictions = model.predict(x_test)
np.argmax(predictions[0])
完整代码:
import tensorflow as tf
from tensorflow import keras
import numpy as np
mnist = keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 将像素值缩放到0-1之间
x_train, x_test = x_train / 255.0, x_test / 255.0
# 构建模型
model = keras.models.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dropout(0.2),
keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5)
# 评估模型
model.evaluate(x_test, y_test, verbose=2)
# 预测数字
predictions = model.predict(x_test)
np.argmax(predictions[0])
``
原文地址: https://www.cveoy.top/t/topic/dnRu 著作权归作者所有。请勿转载和采集!