MNIST手写数字识别_MLP
其实现在很多的代码都是重复的了哦。
加载数据集得到训练集和测试集:
mnist = input_data.read_data_sets('D:\pythonProject1\MNIST\MNIST_data',one_hot=True) # 热编码
train_X = mnist.train.images
train_Y = mnist.train.labels
test_X = mnist.test.images
test_Y = mnist.test.labels
数据归一化处理:
#数据归一化 min-max 标准化
train_X /= 255
test_X /= 255
构建模型(最重要呀):
def create_model():
# 定义多层感知机模型
# 一共有三个卷积层,前两个卷积层的激活函数为relu,最后一个卷积层的激活函数为softmax
model = Sequential()
model.add(Dense(512, input_shape=(784,)))
model.add(Activation('relu'))
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dense(10))
model.add(Activation('softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
return model
model = create_model()
训练模型:
# 训练模型,保存到history中
history = model.fit(train_X,
train_Y,
batch_size=128,
epochs=10,
verbose=2, # 日志输出的复杂度
validation_data=(test_X, test_Y))
print