这是一个系列,记录我Tensorflow开发常用的代码,小常识,有些是参考网上代码,(讲的可能有点烂,求不要打脸,嘤嘤嘤~~)送给那些需要的人。可以相互交流,喜欢的加我吧。
Wx: Lxp911221

根据官方文档敲“MNIST机器学习入门”第一个例子,碰到一个烦了我很久的问题
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%,不过第一步,慢慢来。谢谢!

Tensorflow MNIST 手写识别相关推荐

  1. Tensorflow之基于MNIST手写识别的入门介绍

    Tensorflow是当下AI热潮下,最为受欢迎的开源框架.无论是从Github上的fork数量还是star数量,还是从支持的语音,开发资料,社区活跃度等多方面,他当之为superstar. 在前面介 ...

  2. 使用mllib完成mnist手写识别任务

    使用mllib完成mnist手写识别任务 小提示,通过restart命令重启已经退出了的容器 sudo docker restart <contain id> 完成识别任务准备工作 从以下 ...

  3. Mnist手写识别项目常见问题及解决方法

    环境搭建 问题1:在Visual Studio 2019中的"扩展"管理中搜索不到"AI工具" 解决方法:因为"AI工具"插件不支持Visu ...

  4. 深度学习笔记(MNIST手写识别)

    先看了点花书,后来觉得有点枯燥去看了b站up主六二大人的pytorch深度学习实践的课,对深度学习的理解更深刻一点,顺便做点笔记,记录一些我认为重要的东西,便于以后查阅. 一. 机器学习基础 学习的定 ...

  5. 【TensorFlow】TensorFlow从浅入深系列之三 -- 教你如何对MNIST手写识别

    本文是<TensorFlow从浅入深>系列之第3篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维导 ...

  6. Tensorflow实现MNIST手写识别

    MNIST手写体识别训练和测试模型下载地址: MNIST手写体模型下载 MNIST手写体识别,标签编码为独热(one-hot)编码 One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对 ...

  7. CocosCreator集成TensorFlow实现手写识别

    数字识别画板 Git地址: https://yaoooqi.coding.net/public/DrawingBoard/DrawingBoard/git/files 运行时需要远程加载model.j ...

  8. TensorFlow | 使用Tensorflow带你实现MNIST手写字体识别

    github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 涉及代码:https://github.c ...

  9. Tensorflow快餐教程(1) - 30行代码搞定手写识别

    摘要: Tensorflow入门教程1 去年买了几本讲tensorflow的书,结果今年看的时候发现有些样例代码所用的API已经过时了.看来自己维护一个保持更新的Tensorflow的教程还是有意义的 ...

最新文章

  1. 用ORBSLAM2运行TUM Dataset数据集Monocular Examples
  2. hdu2167 方格取数 状态压缩dp
  3. 19.常量-final
  4. docker~从Dockerfile到Container的过程(终于算是OK了)
  5. [PyTorch] 损失函数
  6. 经验分享 | 我是如何从小白到收获几个不错的offer!
  7. uniapp某个页面高度占满写法
  8. 淘宝获得淘宝商品类目 API
  9. HTML实现简单注册页面
  10. java中文繁体简体转换
  11. eMarketer:女性网民更偏爱网络社区
  12. 如何避免对话冲突-《关键对话》笔记与心得
  13. 树莓派4B:智能植物管家
  14. LeetCode | 347. Top K Frequent Elements
  15. 关于keras-yolov3-deepsort
  16. 巴比特 | 元宇宙每日荐读:三位手握“价值千万”藏品的玩家,揭秘数字藏品市场“三大套路”...
  17. 河南省哪所技校学计算机软件工程,河南技校排名前十有哪些?都有什么专业
  18. 无线传感器网络定位算法
  19. 运营商大数据获客 企业“起死回生”代名词
  20. C语言实现猜数字游戏(通俗易懂)

热门文章

  1. node.js——麻将算法(七)简易版麻将出牌AI2.0
  2. 背包——多重背包(hdu2191)
  3. 【图说word】 宏
  4. Docker-构建/启停容器镜像及常用命令介绍
  5. Kubernetes-Pod/ReplicaSet/Deployment/Service关系(二十一)
  6. django-模板的母版与子版
  7. IDEA编辑器多行编辑模式
  8. windows server 文件资源管理服务器为指定的ftp用户开启磁盘配额
  9. 《技术的潜能:商业颠覆、创新与执行》一一2.12决心、愿望和耐力
  10. Async Program 基本知识 (Process、Thread、Context Switch)