tflearn实现深层神经网络DNN

版权声明:本文为博主原创文章,转载请注明出处! 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)

猜你喜欢

转载自blog.csdn.net/PoGeN1/article/details/85037562