深度学习,教你使用Tensorflow2.0识别手写数字(上)

解珍
• 阅读 2808

课前知识

   新版的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 https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.0.0-alpha0

MNIST 数据集已经是一个被”嚼烂”了的数据集, 很多教程都会对它”下手”, 几乎成为一个 “典范”. 不过有些人可能对它还不是很了解, 下面来介绍一下.

MNIST 数据集可在 http://yann.lecun.com/exdb/mn... 获取, 它包含了四个部分:

Training set images: train-images-idx3-ubyte.gz (9.9 MB, 解压后 47 MB, 包含 60,000 个样本)

MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据.

利用TensorFlow代码下载MNIST

TensorFlow 提供了一个库,可以直接用来自动下载与安装MNIST, 见如下代码:​​​​​​​

from tensorflow.examples.tutorials.mnist import input_data

其中"MNIST_data"为保存MNIST数据的文件夹名,其中还会遇到

ModuleNotFoundError: No module named 'tensorflow.examples.tutorials'

这个问题,则需要参考小编博客的处理文章:

https://blog.csdn.net/qq_43060552/article/details/103189040

MNIST 数据集中的图片

MNIST 数据集中的图片是28X 28 Pixel, 所以,每一幅图就是1 行784 ( 28X28) 列

的数据, 括号中的每一个值代表一个像素。

• 如果是黑白的图片,图片中黑色的地方数值为0 ; . 有图案的地方,数值为O r-,....; 255

之间的数字, 代表其颜色的深度。

• 如果是彩色的图片, 一个像素会由3 个值来表示RGB C 红、黄、蓝) 。

输出MNIST 里面的信息

代码:

# -*- coding: utf-8 -*-`"""``Created on Thu Nov 21 16:38:15 2019
@author: Cable-Ching"""from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_data", one_hot=True)print ( ' 输入数据:', mnist.train.images)print ( ' 输入数据打shape :', mnist.train.images.shape)import pylabim = mnist.train.images[1]im = im.reshape(-1 ,28)pylab.imshow(im)`pylab.show()

结果​​​​​​​

Extracting MNIST_data\train-images-idx3-ubyte.gz

深度学习,教你使用Tensorflow2.0识别手写数字(上)

——————想跟着博主学习python,tensorflow可以关注微信公众号  :   码奋

深度学习,教你使用Tensorflow2.0识别手写数字(上)

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Pytorch入门到进阶(实战计算机视觉与自然语言处理项目)
PyTorch是目前深度学习的主流框架之一,它有着成熟的生态、大量开源的源码以及最新的模型,无论学术研究还是工程落地,PyTorch都是主流选择。同时,PyTorch比其他深度学习框架更易学,也是新手入门的好选择。本课程将算法、模型和基础理论知识进行有机结合,结合多个不同的CV与NLP实战项目,帮助大家掌握PyTorch框架的基础知识和使用方法,并学会利
Easter79 Easter79
3年前
TensorFlow On Flink 原理解析
作者:陈戊超(仲卓),阿里巴巴技术专家深度学习技术在当代社会发挥的作用越来越大。目前深度学习被广泛应用于个性化推荐、商品搜索、人脸识别、机器翻译、自动驾驶等多个领域,此外还在向社会各个领域迅速渗透。背景当前,深度学习的应用越来越多样化,随之涌现出诸多优秀的计算框架。其中TensorFlow,PyTorch,MXNeT作为广泛使用
Easter79 Easter79
3年前
Tensorflow2.0
Tensorflow2.01.Tensorflow简介1.Tensorflow是什么1.Google开源软件库1.采用数据流图,用于数值计算2.支
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
AI研习丨针对长尾数据分布的深度视觉识别
  !(http://dingyue.ws.126.net/2020/0812/714a3e94j00qey3su000xd000q100dup.jpg)  摘要  本文介绍了目前国内外关于长尾数据分布下深度视觉识别的研究进展,主要从常用数据集及应用、经典机器学习解决方案和深度学习解决方案三个维度进行梳理和分析,并针对长尾数据分布的
Easter79 Easter79
3年前
Tensorflow2.0全网最新教程来啦
Tensorflow2.0来啦,废话不多说,直接介绍Tensorflow2.0介绍:tensorflow是GOOGLE在2015年底发布的一款深度学习框架,也是目前全世界用得最多,发展最好的深度学习框架。2019年3月8日,GOOGLE发布最新tensorflow2版本。新版本的tensorflow有很多新特征,更快
Easter79 Easter79
3年前
TensorFlow从1到2(十四)评估器的使用和泰坦尼克号乘客分析
!(http://files.17study.com.cn/201904/tensorFlow2/tflogocard2.png)三种开发模式使用TensorFlow2.0完成机器学习一般有三种方式:使用底层逻辑这种方式使用Python函数自定义学习模型,把数学公式转化为可执行的程序逻辑。接着在训练循环
音视频本地推送标题不显示昵称的排查方法
1、本地推送标题优先选择呼叫发起方设置的pushConfig,所以首先要确定发起方pushConfig的设置是否为昵称;CallKit的默认设置为RCIMsharedRCIM.currentUserInfo中的name,如果发起方没有设置current
胡赤儿 胡赤儿
1年前
从原理到应用探索深度学习的技术
随着大数据和计算能力的飞速发展,深度学习作为人工智能领域的一个重要分支,已经引起了广泛的关注和研究。深度学习通过模拟人脑神经网络的运作方式,使得机器能够学习并理解数据的内在规律和特征,从而实现更高级别的智能化。本文将深入探讨深度学习的基本原理、关键技术及其
马尚 马尚
1年前
用Python和机器学习识别英文数字验证码
在本项目中,我们将展示如何使用Python和机器学习技术来识别英文数字验证码。英文数字验证码通常包含了一系列随机生成的字母和数字,我们将利用机器学习模型来训练识别这些验证码。首先,我们需要导入所需的库:pythonimportosimportnumpyas
马尚 马尚
1年前
探究验证码识别技术与实践方法
验证码识别技术在网络爬虫和自动化测试等领域有着广泛的应用,但是验证码的复杂性和多样性也给识别带来了挑战。本文将深入探讨验证码识别的技术原理和实践方法,为读者提供全面的认识和应用指南。1.深度学习方法:深度学习在验证码识别领域有着广泛的应用,通过神经网络模型