tensorflow的官方文档是以mnist数据集为例子开始的.文档本身没有介绍tensorflow.contrib.learn.python.learn.datasets.mnist模块.要想用tensorflow处理自己的数据集必须100%把这个模块弄明白.之后可以模仿mnist模块,定义自己的数据集.

extract_images方法

该方法是从压缩包中把数据读出来,将数据存入numpy的数组中.代码细节看参考资料1.最终返回一个n28281的numpy数组.n代表数据集中有几张图片.2828代表图片长,宽.1代表通道数(黑白图片通道数为1).

extract_labels

如果one_hot为False,返回一个长度为n的numpy数组.每个元素代表图片上的数字.如果one_hot为True,返回一个n*10的numpy数组,里面的值非0即1.每一行代表一个图片上的数字,第几列为1,就代表图片上是几.从压缩文件中读取数据的方法和上面的思路完全一致.

DataSet

在mnist中定义._images是n*784的numpy型数组,_labels是长度为n的数组(one_hot为False时)

read_data_sets

返回Datasets. Datasets在tensorflow.contrib.learn.python.learn.datasets.mnist.base中定义.Datasets是一个元组,里面有3个元素train,validation,test.在这个函数中,这3个元素都被初始化成DataSet型. next_batch的非常简单,每次返回batch_size个代表图片的numpy型数组和标签.

问题

fake_data为True有什么作用

参考资料

  1. python读取,显示,保存mnist图片
  2. mnist模块源代码

tensorflow mnist模块详解的更多相关文章

  1. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  2. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  3. python之sys模块详解

    python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...

  4. python中threading模块详解(一)

    python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...

  5. python time 模块详解

    Python中time模块详解 发表于2011年5月5日 12:58 a.m.    位于分类我爱Python 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括: ...

  6. python time模块详解

    python time模块详解 转自:http://blog.csdn.net/kiki113/article/details/4033017 python 的内嵌time模板翻译及说明  一.简介 ...

  7. 小白的Python之路 day5 time,datatime模块详解

    一.模块的分类 可以分成三大类: 1.标准库 2.开源模块 3.自定义模块 二.标准库模块详解 1.time与datetime 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时 ...

  8. 小白的Python之路 day5 random模块和string模块详解

    random模块详解 一.概述 首先我们看到这个单词是随机的意思,他在python中的主要用于一些随机数,或者需要写一些随机数的代码,下面我们就来整理他的一些用法 二.常用方法 1. random.r ...

  9. Python中time模块详解

    Python中time模块详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. ...

随机推荐

  1. Recursive Learning

    At first, I just want to learn SQL Server / T-SQL, which I hope can replace MySQL. Then, I was attra ...

  2. 一个ip, 两个域名, 两个ssl, 访问多个不同的项目

    在前面一篇中说过, 入了好几个坑. 后来使用了nginx+tomcat配置的方式. 终于成功了. 因为头一次使用nginx, 不知道具体怎么操作, 于是我在操作的时候, 按照以下几个步骤执行的: 导航 ...

  3. Python多线程与队列

    Python多线程与Queue队列多线程在感官上类似于同时执行多个程序,虽然由于GIL的存在,在Python中无法实现线程的真正并行,但是对于某些场景,多线程仍不失为一个有效的处理方法: 1,不紧急的 ...

  4. 领扣(LeetCode)最大连续1的个数 个人题解

    给定一个二进制数组, 计算其中最大连续1的个数. 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意: 输入的数组 ...

  5. mysql清空数据库下所有的表

    一.使用以下命名获取truancate  数据库 lz_garden 下所有表,并将其导入到 d盘 为 out.sql select Concat('TRUNCATE TABLE ', TABLE_N ...

  6. MAC OS下编译apple跨平台的libevent库 (可延申到其它第三库)

    apple下的跨平台是指不同设备上的苹果系统以及同一系统在不同cpu体系的不同版本. 前面一篇介绍如何用ndk编译android跨平台的第三库,那样的方法却不能应用在apple上. 网上可以找到这么一 ...

  7. 四 linuk常用命令 2. 权限管理命令

    一 权限管理命令chmod 所有者u 所属组g 其他人o 所有人a 所有者和root超级用户可以更改该权限 普通更改权限是不会改变子目录的权限的,要想改变用递归修改 useradd增加用户 目录的r和 ...

  8. PHP 的面向对象 与 类

    面向对象 == OO 学习面向对象 == XXOO;[学习使我快乐!] <!--附一个demo类的实例化--> http://note.youdao.com/noteshare?id=38 ...

  9. 使用OpenCV和imagezmq通过网络实时传输视频流 | live video streaming over network with opencv and imagezmq

    本文首发于个人博客https://kezunlin.me/post/b8847d9f/,欢迎阅读最新内容! live video streaming over network with opencv ...

  10. 3个例子详解C++ 11 中push_back 和 emplace_back差异

    本文首发于个人博客https://kezunlin.me/post/b83bc460/,欢迎阅读最新内容! cpp11 push_back and emplace_back Guide case1 # ...