深度学习4:使用MNIST数据集(tensorflow)
本文将介绍MNIST数据集的数据格式和使用方法,使用到的是tensorflow中封装的类,包含代码。
MNIST数据集来源于这里, 如果希望下载原始格式的数据集,可以从这里下载。而本文中讲解的是已经使用python代码封装好的MNIST数据集。封装的代码作为tensorflow的一部分,内部使用了numpy。所以,在使用这段封装的代码的时候,返回值将numpy的对象。因为numpy是常用和非常实用的工具包,所以,使用numpy具有很多好处。
首先导入包:
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
获取MNIST数据集主需要执行下面一行代码:
mnist = input_data.read_data_sets('dir_with_mnist_data_files', one_hot=False)
mnist数据集把数据分成了三部分,分别是train、test和validation,作用分别是训练、测试和认证。有时候test不是必须的。它们的数据集的大小可以通过下面这段代码得到:
print("train example number: ", mnist.train.num_examples)print("train image shape: ", mnist.train.images.shape)# print(mnist.train.images[0:1])print("train label shape: ", mnist.train.labels.shape)print("test image shape: ", mnist.test.images.shape)print("test image label shape: ", mnist.test.labels.shape)print("validataion image shape: ", mnist.validation.images.shape)print("validataion label shape: ", mnist.validation.labels.shape)batch_xs, batch_ys = mnist.train.next_batch(batch_size=100)print("batch_xs shape is , batch_ys shape is ", batch_xs.shape, batch_ys.shape)print("max value in image: ", np.max(mnist.test.images))print("min value in image", np.min(mnist.test.images))print("max value in label", np.max(mnist.test.labels))print("min value in label", np.min(mnist.test.labels))one_hot_mnist = input_data.read_data_sets('dir_with_mnist_data_files', one_hot=True)print("train image shape of one_hot mnist shape: ", one_hot_mnist.train.images.shape)print("train label shape of one_hot mnist shape: ", one_hot_mnist.train.labels.shape)
上面这段代码的执行结果为:
train example number: 55000
train image shape: (55000, 784)
train label shape: (55000,)
test image shape: (10000, 784)
test image label shape: (10000,)
validataion image shape: (5000, 784)
validataion label shape: (5000,)
batch_xs shape is , batch_ys shape is (100, 784) (100,)
max value in image: 1.0
min value in image 0.0
max value in label 9
min value in label 0
train image shape of one_hot mnist shape: (55000, 784)
train label shape of one_hot mnist shape: (55000, 10)
总结如下:
上面的代码对象比如mnist.train.num_examples
是numpy对象。
有55000个train 用例,每一个用例的x是一个长度为28 x 28 = 784的数组,其中的最大值为1,最小值为0;每一个用例的y或者label是一个数,其中最大值为9, 最小值为0。
有10000个test用例。
有5000个validation用例。
如果是one hot格式,也就是上面的代码中的one_hot参数为True,那么每一个用例中的label不再是一个数,而是一个长度为10的数组,该数组中有9个0,只有一个1(注意是一个用例)。比如如果是手写字3, 那么对于one hot格式,就变成[0, 0, 0, 1, 0, 0, 0, 0, 0, 0]。one hot编码格式在多分类模型中使用到。其他的格式不变。
结束! 谢谢
深度学习4:使用MNIST数据集(tensorflow)相关推荐
- Dataset:数据集集合(综合性)——机器学习、深度学习算法中常用数据集大集合(建议收藏,持续更新)
Dataset:数据集集合(综合性)--机器学习.深度学习算法中常用数据集大集合(建议收藏,持续更新) 目录 常规数据集 各大方向分类数据集汇总 具体数据集分类 相关文章 DL:关于深度学习常用数据集 ...
- 作为深度学习最强框架的TensorFlow如何进行时序预测!(转)
作为深度学习最强框架的TensorFlow如何进行时序预测! BigQuant 2 个月前 摘要: 2017年深度学习框架关注度排名tensorflow以绝对的优势占领榜首,本文通过一个小例子介绍了T ...
- 《深度学习案例精粹:基于TensorFlow与Keras》深度学习常用训练案例合集
#好书推荐##好书奇遇季#<深度学习案例精粹:基于TensorFlow与Keras>,京东当当天猫都有发售.本书配套示例源码.PPT课件.思维导图.数据集.开发环境与答疑服务. <深 ...
- Karpathy更新深度学习开源框架排名:TensorFlow第一,PyTorch第二
上周,Keras作者.谷歌研究科学家François Chollet晒出一张图,他使用Google Search Index,展示了过去三个月,ArXiv上提到的深度学习框架排行,新智元也做了报道: ...
- Lesson 12.1 深度学习建模实验中数据集生成函数的创建与使用
Lesson 12.1 深度学习建模实验中数据集生成函数的创建与使用 为了方便后续练习的展开,我们尝试自己创建一个数据生成器,用于自主生成一些符合某些条件.具备某些特性的数据集.相比于传统的机器学 ...
- 手把手教你在Windows10环境下安装深度学习框架(pytorch or tensorflow)
手把手教你在Windows10环境下安装深度学习框架(pytorch or tensorflow) 1. 安装Anaconda:(常用的python版本和各类包管理器) 1.1. 下载地址: 1.2. ...
- 李沐《动手学深度学习》新增PyTorch和TensorFlow实现,还有中文版
李沐老师的<动手学深度学习>已经有Pytorch和TensorFlow的实现了,并且有了中文版. 网址:http://d2l.ai/ 简介 李沐老师的<动手学深度学习>自一年前 ...
- 12大深度学习开源框架(caffe,tensorflow,pytorch,mxnet等)汇总详解
这是一篇总结文,给大家来捋清楚12大深度学习开源框架的快速入门,这是有三AI的GitHub项目,欢迎大家star/fork. https://github.com/longpeng2008/yousa ...
- 小样本点云深度学习库_基于点云深度学习的点云数据集制作系统及方法与流程...
本发明涉及测控技术领域,尤其涉及一种基于点云深度学习的点云数据集制作系统及方法. 背景技术: 深度学习网络模型一般都是基于64线单帧激光数据集进行.但64线激光器和单帧的限定,造成了工程应用中点云数据 ...
- 首个可用于深度学习的ToF相关数据集!基于置信度的立体相机以及ToF相机深度图融合框架...
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者 | cocoon 编辑 | 3D视觉开发者社区 目录 ✦ contents 1. 概述 2. 方 ...
最新文章
- python初学到底怎么学?大神三天快速学习python的方法留下的笔记
- 罗辑思维 - 当代的学习方法
- Python基础教程:对象及数字对象与数学运算
- Tango+Daydream,刀剑合璧的Android VR开发
- Kinect开发笔记之六Kinect Studio的应用
- Qt中全局变量的使用
- js获取本月或指定月份的最后一天
- SQL Server数据库快照
- mysql中profile的使用
- 计算机作文600字关于科学事业,关于科学的作文600字(精选11篇)
- 切向量,普通矢量,渐变
- sci论文发表的重复率要求低于多少
- MacOS-Mac开发和iOS开发的区别
- iPhone轻松共享wifi密码给好友
- Linux C popen函数返回Shell命令执行结果
- PDF预览完整解决方案及各种兼容(VUE版)
- Visual Studio各版本区别
- 阿里云分析型数据库MySQL版(AnalyticDB)测试初体验
- Java面试准备(四)——Java8特性
- 软件工程是不是教不怎么会的写程序的人开发软件?