Tensorflow MNIST 数据集測试代码入门

本系列文章由 @yhl_leo 出品,转载请注明出处。

文章链接: http://blog.csdn.net/yhl_leo/article/details/50614444



測试代码已上传至GitHub:yhlleo/mnist

将MNIST数据集,下载后复制到目录Mnist_data中,假设已经配置好tensorflow环境,基本的四个測试代码文件,都能够直接编译执行:

  • mnist_softmax.py: MNIST机器学习入门
  • mnist_deep.py: 深入MNIST
  • fully_connected_feed.py: TensorFlow运作方式入门
  • mnist_with_summaries.py: Tensorboard训练过程可视化

mnist_softmax.py执行结果比較简单,就不列举。

mnist_deep.py迭代执行较为耗时,结果已显示在博客: 深入MNIST code測试

fully_connected_feed.py的执行结果例如以下(本人电脑为2 CPU,没有使用GPU):

Extracting Mnist_data/train-images-idx3-ubyte.gz
Extracting Mnist_data/train-labels-idx1-ubyte.gz
Extracting Mnist_data/t10k-images-idx3-ubyte.gz
Extracting Mnist_data/t10k-labels-idx1-ubyte.gz
I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 2
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 2
Step 0: loss = 2.33 (0.023 sec)
Step 100: loss = 2.09 (0.007 sec)
Step 200: loss = 1.76 (0.009 sec)
Step 300: loss = 1.36 (0.007 sec)
Step 400: loss = 1.12 (0.007 sec)
Step 500: loss = 0.74 (0.008 sec)
Step 600: loss = 0.78 (0.006 sec)
Step 700: loss = 0.69 (0.007 sec)
Step 800: loss = 0.67 (0.007 sec)
Step 900: loss = 0.52 (0.010 sec)
Training Data Eval:
  Num examples: 55000  Num correct: 47532  Precision @ 1: 0.8642
Validation Data Eval:
  Num examples: 5000  Num correct: 4360  Precision @ 1: 0.8720
Test Data Eval:
  Num examples: 10000  Num correct: 8705  Precision @ 1: 0.8705
Step 1000: loss = 0.56 (0.013 sec)
Step 1100: loss = 0.50 (0.145 sec)
Step 1200: loss = 0.33 (0.007 sec)
Step 1300: loss = 0.44 (0.006 sec)
Step 1400: loss = 0.39 (0.006 sec)
Step 1500: loss = 0.33 (0.009 sec)
Step 1600: loss = 0.56 (0.008 sec)
Step 1700: loss = 0.50 (0.007 sec)
Step 1800: loss = 0.42 (0.006 sec)
Step 1900: loss = 0.41 (0.006 sec)
Training Data Eval:
  Num examples: 55000  Num correct: 49220  Precision @ 1: 0.8949
Validation Data Eval:
  Num examples: 5000  Num correct: 4520  Precision @ 1: 0.9040
Test Data Eval:
  Num examples: 10000  Num correct: 9014  Precision @ 1: 0.9014
[Finished in 22.8s]

mnist_with_summaries.py主要提供了一种在Tensorboard可视化方法,首先。编译执行代码:

执行完成后,打开终端Terminal,输入tensorboard --logdir=/tmp/mnist_logs(与writer = tf.train.SummaryWriter(‘/tmp/mnist_logs‘, sess.graph_def)中的文件路径一致),终端中就会执行显示:Starting TensorBoard on port 6006 (You can navigate to http://localhost:6006)

然后,打开浏览器,输入链接http://localhost:6006

当中,有一些选项。比如菜单条里包含EVENTS, IMAGES, GRAPH, HISTOGRAMS,都能够一一点开查看~

另外,此时假设不关闭该终端,是无法在其它终端中又一次生成可视化结果的,会出现端口占用的错误。很多其它具体信息能够查看英文原文:TensorBoard: Visualizing Learning

如有纰漏,欢迎指正!

时间: 2024-11-10 07:36:27

Tensorflow MNIST 数据集測试代码入门的相关文章

基于redis集群实现的分布式锁,可用于秒杀商品的库存数量管理,有測试代码(何志雄)

转载请标明出处. 在分布式系统中,常常会出现须要竞争同一资源的情况,本代码基于redis3.0.1+jedis2.7.1实现了分布式锁. redis集群的搭建,请见我的另外一篇文章:<><redis3.0.1集群环境搭建> 可用于比如秒杀系统中的商品库存的管理.付完整代码及測试用例. package com.gaojiasoft.gaojiaRedis; import java.util.UUID; import java.util.concurrent.LinkedBlockin

模式识别 - 特征归一化 及 測试 代码(Matlab)

特征归一化 及 測试 代码(Matlab) 本文地址: http://write.blog.csdn.net/postedit/26221235 通过提取视频特征的程序, 从视频数据集中提取特征数据, 使用matlab进行计算每一列的最大值, 并进行列的归一化; 最后存储入txt的文本, 进行兴许处理. 代码: %特征处理函数 %By C.L.Wang %本程序是处理特征数据, 包含数据的归一化, 存储最大值向量, 和归一化的矩阵; %并进行測试效果 %数据格式为第1列是标签, 2-end列是特

Tensorflow Mnist数据集

Tensorflow自带的Mnist数据集相关情况 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from tensorflow.examples.tutorials.mnist import input_data #数据会自动在线下载,第一次较慢,第二次之后就好了 mnist = input_data.read_data_sets('data/',one_hot=True) print(ty

基于webrtc的媒体库測试代码以及接口介绍

经过一段时间的项目验证,第一版接口能够定版了.满足一般的项目需求是没有问题了,接口非常清晰,凝视也写的非常清晰,大家有须要的就拿去測试吧,android版本号还在验证中.假设有什么问题或者须要源码.能够留言或者联系我,QQ:3049230939.接口及測试程序下载地址:http://download.csdn.net/detail/quitehandsome/9469805 部分接口截图:

写可測试的代码

写可測试的代码 不论什么一个软件都是能够測试.在某种意义上,用户的使用过程也就是一个软件測试的过程.但是这并非我们今天要讲的可測试性.我们讲的可測试性指的是代码的可測试性,通俗点儿说就是是一串代码里包括的逻辑是不是能够被单元測试所覆盖.在这篇文章里我会从单元測试的基本概念開始引伸到怎样写单元測试,怎样写可单元測试的代码.文章里全部的样例都是C#写的,一来它是我职业生涯的主力语言.二来C#广为人知,相信对广大职业的或是业余的程序猿来说读懂C#的代码不会是什么特别困难的事情.实际上我描写叙述的方法和

Redis安装及简单測试

摘要: Redis是眼下业界很受到欢迎的一个内存数据库,一般用作系统的中间缓存系统,用以提升总体商业系统的吞吐量和响应速度.本文将简要介绍安装的主要过程以及给出一个简要的測试代码. 1.  系统环境和版本号说明 操作系统选用Ubuntu 14.04, Redis的版本号选取眼下的最新稳定版本号2.8.9. client选用了Redis的Java版本号jedis 2.4.2. 2.  Redis的安装步骤 a. 下载Redis的安装包 wget http://download.redis.io/r

ios的单元測试OCUnit以及更新了之后的XCTestCase

1.像一般创建项目的步骤一样.创建一个用于測试的项目或者打开一个待測试的项目. (oc是5.0之前所使用的測试,如今用的是XCtestCase,默认会创建一个主的測试类.曾经版本号可能非常多步骤省去) 例如以下:我们能够看到一个text中的測试文件,如今全部測试类都是继承XCTestCase类. 2.写入对应的測试用例在測试类,測试类中对要測试的类须要进入对应的类的头文件,这个是理所应当的.然后执行"执行測试".快捷键:command+U或者product-> test. 以下是

在Eclipse中使用JUnit4进行单元測试(0基础篇)

本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,须要写成千上万个方法或函数,这些函数的功能可能非常强大,但我们在程序中仅仅用到该函数的一小部分功能,而且经过调试能够确定,这一小部分功能是正确的.可是,我们同一时候应该确保每个函数都全然正确,由于假设我们今后假设对程序进行扩展,用到了某个函数的其它功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情.所以说,每编写完一个函数之后,都应该对这

使用libsvm对MNIST数据集进行实验---浅显易懂!

原文:http://blog.csdn.net/arthur503/article/details/19974057 在学SVM中的实验环节,老师介绍了libsvm的使用.当时看完之后感觉简单的说不出话来. 1. libsvm介绍 虽然原理要求很高的数学知识等,但是libsvm中,完全就是一个工具包,拿来就能用.当时问了好几遍老师,公司里做svm就是这么简单的?敲几个命令行就可以了...貌似是这样的.当然,在大数据化的背景下,还会有比如:并行SVM.多核函数SVM等情况的研究和应用. 实验环节老