Tensorflow 实战 Google 深度学习框架(第2版)---- 10.2.2节 P276 代码

#-*-coding:utf-8-*-
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data

mnist_data = input_data.read_data_sets('./mnist_data',one_hot=True)

x = tf.placeholder(tf.float32,shape=(None,784))
y_ = tf.placeholder(tf.float32,shape=(None,10))

net = tf.keras.layers.Dense(500,activation='relu')(x)
y = tf.keras.layers.Dense(10,activation='softmax')(net)

loss = tf.reduce_mean(tf.keras.losses.categorical_crossentropy(y_,y))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(loss)

acc_value = tf.reduce_mean(tf.keras.metrics.categorical_accuracy(y_,y))

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())

    for i in range(10000):
        xs,ys = mnist_data.train.next_batch(100)
        _,loss_value = sess.run([train_step,loss],
                                feed_dict = {x:xs,y_:ys})
        if i % 1000 ==0:
            print('After %d training step(s),loss on training batch is %g .'%(i,loss_value))

    print (acc_value.eval(feed_dict={x:mnist_data.test.images,
                                     y_:mnist_data.test.labels}))

 

猜你喜欢

转载自blog.csdn.net/Strive_For_Future/article/details/81560910