以下是一个基于Python的Mnist手写体数字识别程序:

  1. 导入必要的库和数据集
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()
  1. 数据预处理
# 将像素值缩放到0-1之间
x_train, x_test = x_train / 255.0, x_test / 255.0
  1. 构建模型
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')
])
  1. 编译模型
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
  1. 训练模型
model.fit(x_train, y_train, epochs=5)
  1. 评估模型
model.evaluate(x_test, y_test, verbose=2)
  1. 预测数字
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])
``
python实现Mnist手写体数字识别

原文地址: https://www.cveoy.top/t/topic/dnRu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录