tensorflow入门Day3-MNIST
2017-03-17 19:54
176 查看
# -*- coding: utf-8 -*- from tensorflow.examples.tutorials.mnist import input_data import tensorflow as tf mnist = input_data.read_data_sets('MNIST_data/',one_hot=True) W = tf.Variable(tf.zeros([784,10])) b = tf.Variable(tf.zeros([10])) x = tf.placeholder("float",[None,784]) y = tf.nn.softmax(tf.matmul(x,W)+b) #真实标签占坑 y_ = tf.placeholder("float",[None,10]) cross_entropy = -tf.reduce_sum(y_*tf.log(y)) train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy) sess = tf.Session() sess.run(tf.initialize_all_variables()) for i in range(1000): #每一次迭代随机取100张图,取1000次,相当于取了100000张图,这100000张图可能有重复的 batch_xs,batch_ys = mnist.train.next_batch(100) sess.run(train_step,feed_dict={x:batch_xs,y_:batch_ys}) #tf.argmax(y,1)在第1维上的最大值所在的位置 #y输出Tensor("Softmax:0", shape=(?, 10), dtype=float32) ?表示不知道维数 print y correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(y_,1)) #tf.cast()表示将false转化为0,true转化为1 accuracy = tf.reduce_mean(tf.cast(correct_prediction,"float")) print sess.run(accuracy,feed_dict={x:mnist.test.images,y_:mnist.test.labels}) #直接输不出占位符,需要给模型喂东西才有输出,可以看到训练得到的标签和实际的标签 print sess.run(y,feed_dict={x:mnist.test.images,y_:mnist.test.labels}) print sess.run(y_,feed_dict={x:mnist.test.images,y_:mnist.test.labels})
相关文章推荐
- 深入浅出TensorFlow(二):TensorFlow解决MNIST问题入门
- Tensorflow深度学习入门——下载和读取MNIST数据
- TensorFlow 入门之手写识别(MNIST) softmax算法 二
- 第一阶段-入门详细图文讲解tensorflow1.4 -(四)新手MNIST
- Tensorflow安装,mnist入门
- TensorFlow 入门之手写识别(MNIST) softmax算法
- tensorflow的入门--手写数字识别mnist的傻瓜教程
- Tensorflow深度学习入门——采用卷积和池化优化训练MNIST数据——代码+注释
- [tensorflow 入门] MNIST 入门
- TensorFlow 入门之第一个神经网络训练 MNIST
- 【Tensorflow入门】手写字体识别(MNIST)
- TensorFlow 从入门到精通(二):MNIST 例程源码分析
- TensorFlow入门之MNIST样例代码分析
- [TensorFlow]入门学习笔记(2)-卷积神经网络mnist手写识别
- MNIST 机器学习入门(TensorFlow)
- TensorFlow入门之训练mnist数据集
- Tensorflow之Mnist入门
- TensorFlow入门:如何导入MNIST数据集和Cifar数据集
- MNIST 数字识别和数据持久化--step by step 入门TensorFlow(三)
- Tensorflow的入门级程序(神经网络mnist)