版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/PoGeN1/article/details/85037562
# 引入相关库
import tensorflow as tf
import numpy as np
import tflearn
import tflearn.datasets.mnist as mnist
# 导入数据
trainX, trainY, testX, testY = mnist.load_data(one_hot=True)
# 定义网络
def build_model():
# 重置所有的参数和变量
tf.reset_default_graph()
# 定义输入层
net = tflearn.input_data([None, 784])
# 定义2个隐藏层,各层神经元个数分别为:200,100
net = tflearn.fully_connected(net, 200, activation='Relu')
net = tflearn.fully_connected(net, 100, activation='Relu')
# 定义输出层
net = tflearn.fully_connected(net, 10, activation='softmax')
net = tflearn.regression(net, optimizer='sgd', learning_rate=0.1, loss='categorical_crossentropy')
# define模型
modal = tflearn.DNN(net)
# 返回搭建好的模型
return modal
# 构建模型
model = build_model()
# 训练模型
model.fit(trainX, trainY, validation_set=0.1, show_metric=True, batch_size=100, n_epoch=30)
# 测试模型
prediction = np.array(model.predict(testX)).argmax(axis=1)
actual = testY.argmax(axis=1)
test_accuracy = np.mean(prediction == actual, axis=0)
print('Test accuracy:', test_accuracy)