学习进度笔记10

观看Tensorflow案例实战视频课程10 训练神经网络

def multilayer_perceptron(_X,_weights,_biases):
    layer_1=tf.nn.sigmoid(tf.add(tf.matmul(_X,_weights['w1']),_biases['b1']))
    layer_2=tf.nn.sigmoid(tf.add(tf.matmul(layer_1,_weights['w2']),_biases['b2']))
    return (tf.matmul(layer_2,_weights['out'])+_biases['out'])
#PREDICTION
pred=multilayer_perceptron(x,weights,biases)

#LOSS AND OPTIMIZER
cost=tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred,y))
optm=tf.train.GradientDescentOptimizer(learning_rate=0.001).minimize(cost)
corr=tf.equal(tf.argmax(pred,1),tf.argmax(y,1))
accr=tf.reduce_mean(tf.cast(corr,"float"))

#INITIALIZER
init=tf.global_variables_initializer()
print("FUNCTIONS READY")
training_epochs=20
batch_size=100
display_step=4
#LAUNCH THE GRAPH
sess=tf.Session()
sess.run(init)
#OPTIMIZE
for epoch in range(training_epochs):
    avg_cost=0
    total_batch=int(mnist.train.num_examples/batch_size)
    #ITERATION
    for i in range(total_batch):
       batch_xs,batch_ys=mnist.train.next_batch(batch_size)
       feeds={x:batch_xs,y:batch_ys}
       sess.run(optm,feed_dict=feeds)
       avg_cost+=sess.run(cost,feed_dict=feeds)
    avg_cost=avg_cost/total_batch
    #DISPLAY
    if (epoch+1) % display_step==0:
        print("Epoch:%03d/%03d cost:%.9f" % (epoch,training_epochs,avg_cost))
        feeds={x:batch_xs,y:batch_ys}
        train_acc=sess.run(accr,feed_dict=feeds)
        print("TRAIN ACCURACY:%.3f" % (train_acc))
        feeds={x:mnist.test.images,y:mnist.test.labels}
        test_acc=sess.run(accr,feed_dict=feeds)
        print("TEST ACCURACY:%.3f" % (test_acc))
print("OPTIMIZATION FINISHED")
原文地址:https://www.cnblogs.com/zql-42/p/14624595.html