实例描述:
构建一个简单的多层神经网络,以拟合MNIST样本完成分类任务。
1.定义网络参数
在输入和输出之间使用两个隐藏层,每个层各256个节点,学习率使用0.001。
import tensorflow as tf
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot = True)
learning_rate = 0.001
training_epochs = 25
batch_size = 100
display_step = 1
#设置网络模型参数
n_hidden_1 = 256 #第一个隐藏层节点个数
n_hidden_2 = 256 #第二个隐藏层节点个数
n_input = 784 #MNIST 共784(28*28)维
n_classes = 10 #MNIST 共10根类别(0-9)
2.定义网络结构
multilayer_perceptron函数为封装好的网络模型函数,第一层与第二层均使用Relu激活函数,loss使用softmax交叉熵。具体代码如下:
#定义占位符
x = tf.placeholder("float", [None, n_input])
y = tf.placeholder("float