# Parameters
learning_rate =0.001
num_steps =1000
batch_size =128
display_step =100# Network Parameters
n_hidden_1 =256# 1st layer number of neurons
n_hidden_2 =256# 2nd layer number of neurons
num_input =784# MNIST data input (img shape: 28*28)
num_classes =10# MNIST total classes (0-9 digits)
数据拆分成批
# Using TF Dataset to split data into batches
dataset = tf.data.Dataset.from_tensor_slices((mnist.train.images, mnist.train.labels)).batch(batch_size)
dataset_iter = tfe.Iterator(dataset)
定义多层感知机模型
# Define the neural network. To use eager API and tf.layers API together,# we must instantiate a tfe.Network class as follow:classNeuralNet(tfe.Network):def__init__(self):# Define each layersuper(NeuralNet, self).__init__()# Hidden fully connected layer with 256 neurons
self.layer1 = self.track_layer(
tf.layers.Dense(n_hidden_1, activation=tf.nn.relu))# Hidden fully connected layer with 256 neurons
self.layer2 = self.track_layer(
tf.layers.Dense(n_hidden_2, activation=tf.nn.relu))# Output fully connected layer with a neuron for each class
self.out_layer = self.track_layer(tf.layers.Dense(num_classes))defcall(self, x):
x = self.layer1(x)
x = self.layer2(x)return self.out_layer(x)
neural_net = NeuralNet()
# Evaluate model on the test image set
testX = mnist.test.images
testY = mnist.test.labels
test_acc = accuracy_fn(neural_net, testX, testY)print("Testset Accuracy: {:.4f}".format(test_acc))