本系列文章由 @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

如有纰漏,欢迎指正!

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

  1. caffe在windows编译project及执行mnist数据集測试

    caffe在windows上的配置和编译能够參考例如以下的博客: http://blog.csdn.net/joshua_1988/article/details/45036993 http://bl ...

  2. Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完毕測试代码)

    MD5和RSA是网络传输中最经常使用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,仅仅能加密而不能解密. ...

  3. maven多module项目中千万不要引入其它模块的单元測试代码

    本文出处:http://blog.csdn.net/chaijunkun/article/details/35796335,转载请注明. 因为本人不定期会整理相关博文,会对对应内容作出完好. 因此强烈 ...

  4. OpenFace库(Tadas Baltrusaitis)中基于Haar Cascade Classifiers进行人脸检測的測试代码

    Tadas Baltrusaitis的OpenFace是一个开源的面部行为分析工具.它的源代码能够从 https://github.com/TadasBaltrusaitis/OpenFace 下载. ...

  5. DIV旋转的測试代码

    <html> <head> <style type="text/css"> .rat0 { -webkit-transform: rotate( ...

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

    转载请标明出处. 在分布式系统中,常常会出现须要竞争同一资源的情况,本代码基于redis3.0.1+jedis2.7.1实现了分布式锁. redis集群的搭建,请见我的另外一篇文章:<>& ...

  7. Tensorflow MNIST 数据集测试代码入门

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50614444 测试代码已上传至GitH ...

  8. 读取xml生成lua測试代码

    #include <iostream> #include <string> #include <fstream> #include "tinyxml2.h ...

  9. Testng 的数据源 驱动測试 代码与配置

    JUnit中有讲述使用注解的方式进行数据源读取进行自己主动循环測试的方法,在TestNG中也提供了对应的方法 public class TestngDataProvider { /** * 数组内的每 ...

随机推荐

  1. Ajax通过script src特性加载跨域文件 jsonp

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Do ...

  2. Windows 10用户可以快速移除U盘

    新浪科技讯,北京时间 4 月 9 日上午消息,据美国科技媒体 The Verge 报道,微软再次证实,从 1809 版本的 Windows 10 开始,插入新闪存盘时“快速移除”(quick remo ...

  3. linux操作---cd

    cd命令用于切换工作路径,格式是cd [选项][参数]: [选项] -p  如果切换的工作目录是一个符号连接,直接切换到符号连接指向的目标目录: -L  如果切换的工作目录是一个符号连接,直接切换到符 ...

  4. spring中IOC的简单使用

    spring的ioc主要就是依赖注入,有基于构造器的依赖注入还有通过设值注入,这里我只简单的实现设值注入的方法,通过spring的依赖管理,我们可以很方便的了解各层之间的依赖关系,降低了各层之间的耦合 ...

  5. 实验二实验结论&实验总结与体会

    Part1:格式化输出函数printf()和格式化输入函数scanf() ① /* <C语言程序设计教程学习指导>p118 实验内容(1) 这是一个常用格式控制符使用示例 运行程序,结合运 ...

  6. curl命令查看响应时间

    curl -w "%{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_dow ...

  7. sort函数自定义compare方法

    今天看到有C++这样写: sort(ins.begin(), ins.end(), [](Interval a, Interval b){return a.start < b.start;}); ...

  8. python Flask 学前班

    0.Flask简单介绍     Flask是一个用Python编写的轻量级的Web应用框架.本文第一部分将简单解说Flask的安装,接着展示一个Flask的样例,第一个样例非常easy但也存在缺陷-- ...

  9. 最近Criteria

    第一次用Criteria,于是查了一下http://langgufu.iteye.com/blog/2039554 新鲜事排序算法http://www.zhihu.com/question/20319 ...

  10. 将double数据保留两位小数

    private double formatDouble(double number) { DecimalFormat df = new DecimalFormat("#.00"); ...