一、进行数据预处理
步骤1:导入所需模块
import tensorflow as tf
import tensorflow.keras
import numpy as np
import pandas as pd
from tensorflow.keras.utils import to_categorical
np.random.seed(10)
步骤2:读取MNIST数据
from tensorflow.keras.datasets import mnist
(x_train_image, y_train_label), \
(x_test_image, y_test_label) = mnist.load_data()
步骤3:将features(数字图像特征值)以reshape转换
x_train=x_train_image.reshape(60000,784).astype('float32')
x_test=x_test_image.reshape(10000,784).astype('float32')
步骤4:将features(数字图像特征值)标准化
x_train_normalize = x_train/255
x_test_normalize = x_test/255
步骤5:label(数字真实的值)以One-Hot Encoding进行转换
y_trainonehot =tf.keras.utils. to_categorical(y_train_label)
y_testonehot = tf.keras.utils.to_categorical(y_test_label)
二、建立模型
1.导入所需模块
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
2.建立Sequential模型
建立“输出层”和“隐藏层”
model = Sequential()
model.add(Dense(units=256,
input_dim=784,
kernel_initializer='normal',
activation='relu'))
model.add(Dense(units=10,
kernel_initializer='normal',
activation='softmax'))
3.查看模型的摘要
print(model.summary())
三、进行训练
1.定义训练方式
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
2.开始训练
train_history=model.fit(x=x_train_normalize,
y=y_trainonehot,
validation_split=0.2