当前位置 博文首页 > LY的博客:TENSORFLOW 使用colab 学习MNSIT 案例

    LY的博客:TENSORFLOW 使用colab 学习MNSIT 案例

    作者:[db:作者] 时间:2021-08-09 22:10

    代码:

    #解释原理http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html
    # -*- coding:utf-8 -*-
    import tensorflow as tf
    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])
    W = tf.Variable(tf.zeros([784,10]))
    b = tf.Variable(tf.zeros([10]))
    y = tf.nn.softmax(tf.matmul(x,W) + b)

    y_real = tf.placeholder("float", [None,10])

    cross_entropy = -tf.reduce_sum(y_real*tf.log(y))
    train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy) ? #用梯度下降算法(gradient descent algorithm)以0.01的学习速率最小化交叉熵。
    #初始化模型
    init = tf.initialize_all_variables()
    sess = tf.Session()
    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_real: batch_ys})
    ??

    #100个批处理数据点的小批量随机梯度下降训练?

    correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_real,1))
    accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
    print sess.run(accuracy, feed_dict={x: mnist.test.images, y_real: mnist.test.labels})

    cs