# 引入相关库
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)

收藏 打印