深度学习入门-mnist数据集

深度学习入门-基于python的理论与实现

3.6.1 MNIST数据集
我使用的是pyhcharm 可以直接通过setting里Install tensorflow模块导入mniset数据集

mnist数据集&tensorflow简介

tensorflow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库

MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片

数据集被分成两部分:60000行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)。
每一个MNIST数据单元有两部分组成:一张包含手写数字的图片和一个对应的标签。我们把这些图片设为“xs”,把这些标签设为“ys”。训练数据集和测试数据集都包含xs和ys,比如训练数据集的图片是 mnist.train.images ,训练数据集的标签是 mnist.train.labels

每一张图片都是28*28像素

安装tensorflow需要等很久

from tensorflow.examples.tutorials.mnist import input_data
import matplotlib.pyplot as plt

mnist = input_data.read_data_sets("MNIST_data",one_hot=True) #MNist数据集不能直接使用,需要通过input_data函数 
#联网下载数据集 如果没有MNIST_data文件夹则会创建一个,包括4个后缀为gz的文件

print(mnist.train.images.shape)
print(mnist.train.labels.shape)

image = mnist.train.images[1,:]
image = image.reshape(28,28)#指定期望的形状

plt.figure()
plt.imshow(image)
plt.show()

可能会出现的错误:

运行以上代码时出现错误,显示tensorflowl.exmple.tutorials没有这个模块。

解决办法:
1.检查python/Lib/site-packages/tensorflow/example里有没有tutorials这个文件夹

2.没有就下载tutorials文件,复制到上述目录下就可以了

顺利运行代码,读取数据集Mnist

onehot编码:

One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。

One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。

通过迭代形式以一定 batch_size 读取数据:

mnist.train.next_batch(100)

你可能感兴趣的:(深度学习,深度学习,tensorflow,机器学习,python)