Tensorflow MNIST 手写识别
2017-05-18 19:15
549 查看
根据官方文档敲“MNIST机器学习入门”第一个例子,碰到一个烦了我很久的问题
input_data 一直找不到。why?
找了很久,找到了上边一段代码,执行成功。所以它很重要 ):
下边代码是一位博主的,比我的代码注释详细,就直接用他的吧
@MebiuW
执行结果不到92%,不过第一步,慢慢来。谢谢!
input_data 一直找不到。why?
from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
找了很久,找到了上边一段代码,执行成功。所以它很重要 ):
下边代码是一位博主的,比我的代码注释详细,就直接用他的吧
@MebiuW
# -*- coding:utf-8 -*- # Noted by: @MebiuW sina weibo import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #加载数据,如果不存在他会首先自动下载数据到指定的目录 mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # X是一个Placeholder ,这个值后续再放入让TF计算,这里是一个784维,但是训练数量不确定的(用None表示)的浮点值 x = tf.placeholder(tf.float32, [None, 784]) # 设置对应的权值和偏置的表示,Variable代表一个变量,会随着程序的生命周期做一个改变 # 需要给一个初始的值,这里都全部表示为0 W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) # 这里根据我们上面描述的,构件我们的模型,y是模型的输出,matmul是矩阵乘法,公式请参见之前的 y = tf.nn.softmax(tf.matmul(x, W) + b) # 这里是保存真是的Label,同样是Placeholder,原理同X y_ = tf.placeholder(tf.float32, [None, 10]) # 在机器学习的模型中,我们需要定义一个衡量模型好坏的方式,称为代价函数(Cost Loss),这里使用了交叉熵去衡量 reduce_sum 累加 cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1])) #训练的步骤,告诉tf,用梯度下降法去优化,学习率是0.5,目的是最小化交叉熵 train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) # 到目前为止,我们已经定义完了所有的步骤,下面就需要初始化这个训练步骤了,首先初始化所有变量(之前定义的变量) init = tf.initialize_all_variables() sess = tf.Session() sess.run(init) #运行步骤1000次 for i in range(1000): #载入数据 batch_xs, batch_ys = mnist.train.next_batch(100) #执行步骤,但是需要填入placeholder的值 sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) #进行模型的的衡量 correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) #理论上应该是92%附近 print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
执行结果不到92%,不过第一步,慢慢来。谢谢!
相关文章推荐
- Android+TensorFlow+CNN+MNIST 手写数字识别实现
- TensorFlow CNN 以库函数的方式实现MNIST手写识别
- TensorFlow在MNIST中的应用 识别手写数字(OpenCV+TensorFlow+CNN)
- [置顶] 【tensorflow CNN】构建cnn网络,识别mnist手写数字识别
- tensorflow mnist数据集手写字识别
- Android+TensorFlow+CNN+MNIST 手写数字识别实现
- TensorFlow MNIST 手写数字识别之过拟合
- Android+TensorFlow+CNN+MNIST实现手写数字识别
- 【Tensorflow tf 掏粪记录】笔记三——用tf接口打造全连接神经网络识别MNIST
- TensorFlow RNN MNIST字符识别演示快速了解TF RNN核心框架
- TensorflowSharp 简单使用与KNN识别MNIST流程
- python tensorflow 使用minist数据集实现手写数字识别
- MNIST基础手写体识别 tensorflow+Python
- tensorflow mnist手写字体读取使用
- [052]TensorFlow Layers指南:基于CNN的手写数字识别
- 【Python | TensorBoard】用 PCA 可视化 MNIST 手写数字识别数据集
- ROS机器人Diego 1#整合Tensorflow MNIST,玩数字识别
- tensorflow tutorials(八):手写数字数据集MNIST介绍
- 在浏览器中进行深度学习:TensorFlow.js (四)用基本模型对MNIST数据进行识别
- tensorflow mnist手写数字(三)从零开始