当前位置: 首页 > 编程日记 > 正文

tensorflow学习笔记————分类MNIST数据集

在使用tensorflow分类MNIST数据集中,最容易遇到的问题是下载MNIST样本的问题。

一般是通过使用tensorflow内置的函数进行下载和加载,

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data", one_hot=True)

但是我使用时遇到了“urllib.error.URLError: <urlopen error [Errno 99] Cannot assign requested address>”错误,查了一下也没什么好的解决方案,最后就自己去手动下载了。在python文件同目录下建立MNIST_data,进入目录后通过wget来下载

wget http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz
wget http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz
wget http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz
wget http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz

最后运行我们的程序

 1 import tensorflow as tf
 2 from tensorflow.examples.tutorials.mnist import input_data
 3 
 4 #通过tensorflow的库来载入训练的样本
 5 mnist = input_data.read_data_sets("MNIST_data", one_hot=True)
 6 
 7 #每个批次的大小
 8 batch_size = 100
 9 
10 #计算有多少批次
11 n_batch = mnist.train.num_examples // batch_size
12 
13 #定义两个placeholder,x是图片样本,y是输出的结果
14 x = tf.placeholder(tf.float32, [None,784])
15 y = tf.placeholder(tf.float32, [None,10])
16 
17 #创建一个简单的神经网络
18 W = tf.Variable(tf.zeros([784,10]))
19 b = tf.Variable(tf.zeros([10]))
20 prediction = tf.nn.softmax(tf.matmul(x,W)+b)
21 
22 #二次代价函数
23 loss = tf.reduce_mean(tf.square(y - prediction))
24 
25 #使用梯度下降法
26 train_step = tf.train.GradientDescentOptimizer(0.2).minimize(loss)
27 
28 #初始化变量
29 init = tf.global_variables_initializer()
30 
31 #结果存放在一个布尔类型列表中, tf.argmax返回一维张量中最大的值所在的位置,就是返回识别出来最可能的结果
32 correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(prediction,1))
33 
34 #求准确率,tf.case()把bool转化为float
35 accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
36 
37 with tf.Session() as sess:
38     sess.run(init)
39     for epoch in range(21):
40         for batch in range(n_batch):
41             batch_xs,batch_ys = mnist.train.next_batch(batch_size)
42             sess.run(train_step, feed_dict={x:batch_xs, y:batch_ys})
43     
44         acc = sess.run(accuracy, feed_dict={x:mnist.test.images, y:mnist.test.labels})
45         print("Iter " + str(epoch) + ", Testing Accuracy" + str(acc))
46     

转载于:https://www.cnblogs.com/QKSword/p/8723677.html

相关文章:

Build SSCLI20 under VS2008 full Document (完全手册)

以前build过几次sscli2都成功了&#xff0c;这次换了个新的环境&#xff0c;没想到出了一大堆的问题。折腾了半天&#xff0c;最终搞定&#xff0c;把解决问题的过程和方法都记录下来。 首先说说build的过程中参考过的链接和资源。 首先就是sscli自带的文档&#xff1a;Buildin…

vue 发展历程时间轴动画_PPT时间轴如何做出创意感?海量素材免费分享,网友:收藏...

时间轴页面&#xff0c;是工作型PPT中常见的页面之一。个人述职或者公司介绍PPT中&#xff0c;使用时间轴&#xff0c;能够让观众更加清晰地了解公司的发展历程。但是&#xff0c;很多人在制作时间轴页面时&#xff0c;往往是这样的效果&#xff1a;只有几行字和一根线&#xf…

[CQOI2014]数三角形 组合数 + 容斥 + gcd

推导过程 &#xff1a; 组合数容斥原理gcd 正确做法是暴力的一种优化&#xff0c;ans所有情况 - 平行坐标轴的三点共线 - 斜线三点共线 如果快速求斜线三点共线&#xff1a; 首先要知道一个结论&#xff0c;对于点(a,b) (x,y)连成的线段而言(其中a>x,b>y)&#xff0c; 在…

石子合并[DP-N3]

题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆&#xff0c;并将新的一堆的石子数&#xff0c;记为该次合并的得分。 试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分. 输入输出格式 输入格式&…

智能合约智能么?

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 近几年&#xff0c;随着区块链、加密货币概念的发展&#xff0c;智能合约也开始被广泛的接受&#xff0c;然而就像最初的人工智能被过度神化一样&…

Codeforces 504 A (Round #285 div.1 A) Misha and Forest

Codeforces Round #285 (Div.1) A Misha and Forest 水题水题水…… 题意&#xff1a;给你一些点&#xff0c;给出他们连通了多少个点以及这些点的下标的异或值&#xff0c;让你找出一个图 题解&#xff1a;拓扑排序一发 代码: #include <iostream> #include <cstdio&…

hashlib模式和hmac模式

hashlib模式 什么叫hash&#xff1f; 一&#xff1a;hash是一种算法&#xff08;3.x里代替了md5模块和sha模块&#xff0c;主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 &#xff0c;MD5 算法&#xff09;&#xff0c;该算法接受传入的内容&#xff0c;经过运算得到一串hash…

asp导出word中文乱码_解决文档打开乱码问题丨小工具系列

问题:手头上有个从Workbench导出的数据表文档打开发现里面的中文是乱码&#xff01;如图所示&#xff1a;解决方法利用记事本&#xff08;notepad&#xff09;将该文档的格式修改为UTF-8&#xff0c;步骤如下点击电脑的开始菜单&#xff0c;点击"所有程序"&#xff0…

一篇文章让你了解智能合约以及和区块链的关系

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 智能合约是区块链最重要的特性&#xff0c;也是区块链能够被称为颠覆性技术的主要原因&#xff0c;更是各国央行考虑使用区块链技术来发行数字货币的…

我的常用npm命令

npm link gulp node-sass gulp-sass gulp-autoprefixer gulp-sourcemaps gulp-font-spider gulp-concat gulp-uglify gulp-jshint map-stream 转载于:https://www.cnblogs.com/siluo2000/p/8779988.html

pytorch 测试每一类_DeepFM全方面解析(附pytorch源码)

写在前面最近看了DeepFM这个模型。把我学习的思路和总结放上来给大家和未来的自己做个参考和借鉴。文章主要希望能串起学习DeepFM的各个环节&#xff0c;梳理整个学习思路。以“我”的角度浅谈一下DeepFM基础知识看过的一些有用文献最后附上可实现的pytorch代码&#xff0c;用具…

超简单的网页选项卡---jQuery

<!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>网页选项卡</title> <script src"jquery-1.4.2.js"></script> <script type"text/javascript"> $(funct…

一篇文章让你了解区块链技术的发展阶段

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 区块链是由一系列技术实现的全新去中心化经济组织模式&#xff0c;2009年诞生于比特币系统的构建&#xff0c;2017年成为全球经济热点&#xff0c;但…

301 Remove Invalid Parentheses 删除无效的括号

删除最小数目的无效括号&#xff0c;使输入的字符串有效&#xff0c;返回所有可能的结果。注意: 输入可能包含了除 ( 和 ) 以外的元素。示例 :"()())()" -> ["()()()", "(())()"]"(a)())()" -> ["(a)()()", "(a(…

python3 列表转字节_Python 3.9!10大新特性值得关注

选自towardsdatascience作者&#xff1a;Farhad Malik机器之心编译编辑&#xff1a;陈萍近日&#xff0c;Python 3.9 发布&#xff0c;并开发了一些新特性&#xff0c;包括字典合并与更新、新的解析器、新的字符串函数等。Python 3.9 已于 10 月 5 日发布&#xff0c;新版本的特…

HDU4080 Stammering Aliens(二分 + 后缀数组)

题目 Source http://acm.hdu.edu.cn/showproblem.php?pid4080 Description Dr. Ellie Arroway has established contact with an extraterrestrial civilization. However, all efforts to decode their messages have failed so far because, as luck would have it, they ha…

共识机制:区块链技术的根基

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 Chapter&#xff0d;1&#xff1a;什么是共识机制&#xff1f; 技术定义是&#xff1a;共识机制是一个群体决策的流程&#xff0c;群体中的个体会执…

Web App、Hybrid App与Native App的设计差异

目前主流应用程序大体分为三类&#xff1a;Web App、Hybrid App、 Native App。 一、Web App、Hybrid App、Native App 纵向对比 首先&#xff0c;我们来看看什么是 Web App、Hybrid App、 Native App。 1. Web APP Web App 指采用Html5语言写出的App&#xff0c;不需要下载安装…

输入重定向,输出重定向,管道相关内容及实现方法

近期&#xff0c;通过实现shell了解了输入重定向&#xff0c;输出重定向&#xff0c;管道- 用自己的话总结定义&#xff1a; 输入重定向&#xff1a;把<右边的文件的内容输入到<左边的命令中。 输出重定向&#xff1a;把运行>左边命令得出的结果输入到>右边的文件中…

appium+python自动化测试教程_Python+Appium实现自动化测试

一、环境准备 1.脚本语言&#xff1a;Python3.x IDE&#xff1a;安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境&#xff0c;path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows&#xff0c;官网地址 http://appium.io/点击下载按钮会到GitHub的下…

区块链热度飙升 BAT抢先布局话语权争夺战开打

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 今年以来&#xff0c;在互联网金融相对沉寂之后&#xff0c;区块链已当仁不让成为科技领域的主角。区块链作为一项突破性的新技术&#xff0c;如同当…

【CV知识学习】early stop、regularation、fine-tuning and some other trick to be known

深度学习有不少的trick&#xff0c;而且这些trick有时还挺管用的&#xff0c;所以&#xff0c;了解一些trick还是必要的。上篇说的normalization、initialization就是trick的一种&#xff0c;下面再总结一下自己看Deep Learning Summer School, Montreal 2016 总结的一些trick。…

etw系统provider事件较多_【Flutter 实战】文件系统目录

老孟导读&#xff1a;Flutter 中获取文件路径&#xff0c;我们都知道使用 path_provider&#xff0c;但对其目录对含义不是很清楚&#xff0c;此文介绍 Android、iOS 系统的文件目录&#xff0c;不同场景下建议使用的目录。 不同的平台对应的文件系统是不同的&#xff0c;比如文…

BZOJ4491: 我也不知道题目名字是什么

【传送门&#xff1a;BZOJ4491】 简要题意&#xff1a; 给出一个长度为n的序列&#xff0c;m个操作&#xff0c;每个操作输入x&#xff0c;y&#xff0c;求出第x个数到第y个数的最长子串&#xff0c;保证这个最长子串是不上升或不下降子串 题解&#xff1a; 线段树 因为不上升或…

区块链挖矿的钱从哪来 区块链挖矿怎么挣钱

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 进入2018年以来&#xff0c;区块链在资本市场的风口上依然热度不减&#xff0c;已成为当下最热的投资领域。而普通投资者想通过区块链投资赚钱最简单…

Linux-TCP/IP TIME_WAIT状态原理

TIME_WAIT状态原理----------------------------通信双方建立TCP连接后&#xff0c;主动关闭连接的一方就会进入TIME_WAIT状态。客户端主动关闭连接时&#xff0c;会发送最后一个ack后&#xff0c;然后会进入TIME_WAIT状态&#xff0c;再停留2个MSL时间(后有MSL的解释)&#xf…

python如何实现找图_利用OpenCV和Python实现查找图片差异

使用OpenCV和Python查找图片差异 flyfish 方法1 均方误差的算法&#xff08;Mean Squared Error , MSE&#xff09;下面的一些表达与《TensorFlow - 协方差矩阵》式子表达式一样的拟合 误差平方和&#xff08; sum of squared errors&#xff09; residual sum of squares (RSS…

区块链还能赚钱吗 区块链挖矿赚钱吗

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 区块链有多火&#xff0c;连我母上都知道这个词&#xff0c;身边很多人也都向笔者咨询这个东西。 其实他们真实的想法是&#xff0c;想知道这东西到…

pythonfor循环遍历list_为什么for循环可以遍历list:Python中迭代器与生成器

1 引言 只要你学了Python语言&#xff0c;就不会不知道for循环&#xff0c;也肯定用for循环来遍历一个列表&#xff08;list)&#xff0c;那为什么for循环可以遍历list&#xff0c;而不能遍历int类型对象呢&#xff1f;怎么让一个自定义的对象可遍历&#xff1f; 这篇博客中&am…

Linux下查看和添加环境变量

转自&#xff1a;http://blog.sina.com.cn/s/blog_688077cf01013qrk.html $PATH&#xff1a;决定了shell将到哪些目录中寻找命令或程序&#xff0c;PATH的值是一系列目录&#xff0c;当您运行一个程序时&#xff0c;Linux在这些目录下进行搜寻编译链接。 编辑你的 PATH 声明&am…