课前知识python
新版的Tensorflow2.0与原版的Tensorflow有着较大的更新和变更,Tensorflow2.0将Keras做为默认高级API,并舍弃掉其它的API。此外,另外较大的变更的是将用于机器学习的实验和研究平台 Eager execution 设置为默认优先模式, 这样设置的好处是咱们不用再像之前同样预先定义静态图,任何的运算在调用以后均可以直接执行。与原版相比,Tensorflow2.0更方便,大幅下降了初学者学习的难度。微信
这里并不对Tensorflow2.0的其它特性作具体描述,总之咱们能够比较清楚的明白,Keras是咱们学习的首要基础,下文即是对Keras一些经常使用操做结合一些基本案例来进行描述。机器学习
Tensorflow2.0的安装 1.Tensorflow2.0的主要配置环境及使用仍是在Anaconda及Jupyter notebook里,对于Anaconda的安装这里不作过多描述,有不少博客有很仔细的教程,这里主要想讲的一点的关于Tensorflow2.0安装的点,由于如今用在Anaconda Prompt 直接 pip install 指令安装实在是太慢了,常常会中断,所以咱们能够用国内的一些镜像源进行安装,你们能够输入如下指令,中间多了一个网站,而后就会发现安装速度特别快了,其它库的安装也是同样的,把后面库的名字改掉便可。学习
pip install -i pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.0.0-alpha0测试
MNIST 数据集已是一个被”嚼烂”了的数据集, 不少教程都会对它”下手”, 几乎成为一个 “典范”. 不过有些人可能对它还不是很了解, 下面来介绍一下.网站
MNIST 数据集可在 yann.lecun.com/exdb/mnist/ 获取, 它包含了四个部分: Training set images: train-images-idx3-ubyte.gz (9.9 MB, 解压后 47 MB, 包含 60,000 个样本) Training set labels: train-labels-idx1-ubyte.gz (29 KB, 解压后 60 KB, 包含 60,000 个标签) Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解压后 7.8 MB, 包含 10,000 个样本) Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解压后 10 KB, 包含 10,000 个标签) MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不一样人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工做人员. 测试集(test set) 也是一样比例的手写数字数据..net
利用TensorFlow代码下载MNISTcdn
TensorFlow 提供了一个库,能够直接用来自动下载与安装MNIST, 见以下代码: from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data", one_hot=True) 其中"MNIST_data"为保存MNIST数据的文件夹名,其中还会遇到blog
ModuleNotFoundError: No module named 'tensorflow.examples.tutorials' 这个问题,则须要参考小编博客的处理文章:教程
MNIST 数据集中的图片
MNIST 数据集中的图片是28X 28 Pixel, 因此,每一幅图就是1 行784 ( 28X28) 列
的数据, 括号中的每个值表明一个像素。
• 若是是黑白的图片,图片中黑色的地方数值为0 ; . 有图案的地方,数值为O r-,....; 255
之间的数字, 表明其颜色的深度。
• 若是是彩色的图片, 一个像素会由3 个值来表示RGB C 红、黄、蓝) 。
输出MNIST 里面的信息
代码:
""" Created on Thu Nov 21 16:38:15 2019 @author: Cable-Ching""" from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data", one_hot=True) print ( ' 输入数据:', mnist.train.images) print ( ' 输入数据打shape :', mnist.train.images.shape) import pylab im = mnist.train.images[1] im = im.reshape(-1 ,28) pylab.imshow(im) pylab.show() 结果
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 输入数据:[[0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] ... [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.]] 输入数据打shape : (55000, 784)