• Tensorflow机器学习入门——MINIST数据集识别(Softmax算法)


    参考网站:http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html

    import tensorflow as tf
    
    def add_layer(inputs, in_size, out_size, activation_function=None):
        Weights = tf.Variable(tf.random_normal([in_size, out_size]), name='W')
        biases = tf.Variable(tf.zeros([1, out_size]) + 0.1, name='b')
        Wx_plus_b = tf.add(tf.matmul(inputs, Weights), biases)
        if activation_function is None:
            outputs = Wx_plus_b
        else:
            outputs = activation_function(Wx_plus_b)
        return outputs
        
    #加载数据
    from tensorflow.examples.tutorials.mnist import input_data
    mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
    
    #构建计算图    
    x = tf.placeholder("float", [None, 784])
    y_ = tf.placeholder("float", [None,10])
    y=add_layer(x,784,10,activation_function=tf.nn.softmax)
    
    #损失与训练
    cross_entropy = -tf.reduce_sum(y_*tf.log(y))
    train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
    
    #计算准确率
    correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
    accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
    
    #训练1000步
    init = tf.initialize_all_variables()
    with tf.Session() as sess:
        sess.run(init)
        for i in range(1000):
            batch_xs, batch_ys = mnist.train.next_batch(100)
            sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
            if i%100==0:
                print (sess.run(accuracy, feed_dict={x: batch_xs, y_: batch_ys}))
        #验证准确率
        print (sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
  • 相关阅读:
    OJ生成器(一)制作Online Judge前的准备和策划
    中国剩余定理
    图片
    扩展GCD的一点心得
    用css控制连续英文字符或数字换行
    CTFHUB HTTP协议之请求方式
    PHP基础05---文件处理
    PHP基础04---文件包含
    PHP基础03---数组
    PHP基础01
  • 原文地址:https://www.cnblogs.com/Fengqiao/p/MINIST.html
Copyright © 2020-2023  润新知