import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
# 1.数据获取
mnist = tf.keras.datasets.mnist
(train_x, train_y), (test_x, test_y) = mnist.load_data() # 数据拆分为训练集和测试集
# 2.模型构建
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=[28, 28]), # Flatten 层用于展开张量
tf.keras.layers.Dense(100, activation="relu"), # 训练层1
tf.keras.layers.Dense(100, activation="relu"), # 训练层2
tf.keras.layers.Dropout(0.5), # 防止过拟合,关闭50%的神经元
tf.keras.layers.Dense(10, activation="softmax"), # 输出层
])
model.compile(optimizer="adam",
loss="sparse_categorical_crossentropy",
metrics=['accuracy']) # optimizer优化算法,loss损失函数, metrics评估方法
# 3.模型训练
model.fit(train_x, train_y, epochs=5) # 1个epoch等于使用训练集中的全部样本训练一次;
# 4.模型评估
val = model.evaluate(test_x, test_y) # evaluate 模型评估
print(val)
结果输出: