猜你喜欢
TensorFlow 2.0卷积神经网络实战

TensorFlow 2.0卷积神经网络实战

书籍作者:王晓华 ISBN:9787302540656
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5240
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
卷积神经网络是现代神经网络的核心内容,TensorFlow又是现在流行的深度学习框架。
  《TensorFlow 2.0卷积神经网络实战》使用TensorFlow2.0作为卷积神经网络实现的基本工具,引导深度学习初学者,从搭建环境开始,逐步深入到理论、代码和应用实践中去。
  《TensorFlow 2.0卷积神经网络实战》分为8章,第1章从搭建环境开始,包含Anaconda、Python、PyCharm、TensorFlowCPU版本和GPU版本的安装;第2章是Keras+TensorFlow2.0的使用基础;第3章是TensorFlow2.0语法;第4章是MNIST实战;第5章是DatasetAPI;第6章是ResNet理论和实践;第7章是注意力模型;第8章是通过卷积实现的一个项目案例:识文断字。
  《TensorFlow 2.0卷积神经网络实战》内容详尽、示例丰富,是机器学习和深度学习初学者必备的参考书,同时非常适合高等院校人工智能相关专业的师生阅读,也可作为培训学校相关专业的教材使用。
作者简介
王晓华,计算机专业讲师,长期讲授面向对象程序设计、数据结构、Hadoop程序设计等研究生和本科生相关课程;主要研究方向为云计算、数据挖掘。曾主持和参与多项国家和省级科研课题,独立科研项目获省级成果认定,发表过多篇论文,拥有一项专利。著有《Spark MLlib机器学习实践》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》等图书。
前言
作为最主流的深度学习框架,TensorFlow发布至今的三年里,引领了深度学习和人工智能领域的全面发展和成长壮大。它的出现使得深度学习的学习门槛被大大降低,不仅是数据专家,就连普通的程序设计人员,甚至相关专业的学生都可以用它来开发新的AI程序而不需要深厚的编程功底。
  本书主要讲述使用TensorFlow2.0学习卷积神经网络和开发对应的深度学习应用,是一本面向初级和中级读者的优秀教程。通过本书的学习,读者能够掌握卷积神经网络的基本内容和TensorFlow框架下深度学习的知识要点,以及从模型的构建到应用程序的编写一整套的应用技巧。
  本书特色
  1.版本新,易入门
  本书详细介绍了TensorFlow2.0的安装和使用,以及使用TensorFlow2.0官方所推荐的Keras编程方法与技巧。
  2.作者经验丰富,代码编写细腻
  作者是长期奋战在科研和工业界的一线算法设计和程序编写人员,实战经验丰富,对代码中可能会出现的各种问题和“坑”有着丰富的处理经验,使得读者能够少走很多弯路。
  3.理论扎实,深入浅出
  在代码设计的基础上,本书还深入浅出地介绍了深度学习需要掌握的一些基本理论知识,作者通过大量的公式与图示结合的方式对深度学习理论做了介绍,是一本难得的好书。
  4.对比多种应用方案,实战案例丰富
  本书采用了大量的实例,同时也提供了一些实现同类功能的其他解决方案,覆盖了卷积神经网络使用TensorFlow进行深度学习开发中常用的知识。
  本书内容及知识体系
  本书基于TensorFlow2.0的新架构模式和框架,完整介绍TensorFlow2.0使用方法和一些进阶用法,主要内容如下:
  第1章详细介绍了TensorFlow2.0的安装方法以及对应的运行环境的安装,并通过一个简单的例子验证TensorFlow2.0的安装效果。本章还介绍了TensorFlow2.0硬件的采购。请记住,一块能够运行TensorFlow2.0GPU版本的显卡能让你的学习事半功倍。
  第2章是本书的重点,从Eager的引入开始,介绍了TensorFlow2.0的编程方法和步骤,包括结合Keras进行TensorFlow2.0模型设计的完整步骤,以及自定义层的方法。本章的内容看起来很简单,但却是本书的基础和核心精华,读者一定要反复阅读,认真掌握所有内容和代码的编写。
  第3章是TensorFlow2.0的理论部分,介绍了反馈神经网络的实现及其最核心的两个算法,作者通过图示结合理论公式的方式详细介绍了反馈神经网络理论和原理,并全手动实现了一个反馈神经网络。
  第4章详细介绍了卷积神经网络的原理及其各个模型的使用和自定义内容,讲解了借助卷积神经网络(CNN)算法构建一个简单的CNN模型进行MNIST数字识别。使用卷积神经网络来识别物体是深度学习的一个经典内容,本章和第2章同为本书的重点内容,能够极大地帮助读者掌握TensorFlow2.0框架的使用和程序的编写。
  第5章是TensorFlow2.0数据读写部分,详细介绍了使用TensorFlow2.0自带的DatasetAPI对数据的序列化存储,并简明讲解数据重新读取和调用的程序编写方法。
  第6章介绍了ResNet的基本思想和内容,ResNet是一个具有里程碑性质的框架,标志着粗犷的卷积神经网络设计向着精确化和模块化的方向转化。ResNet本身的程序编写非常简单,但是其中蕴含的设计思想却是跨越性的。
  第7章讲解的内容是未来的发展方向,具有“注意力”的多种新型网络模型。在不同的维度和方向上加上“注意力”,这是需要读者在学习中加上所有注意力的地方。
  实际上,除了传统的图像处理之外,使用卷积神经网络还能够对文本进行分类,这一般采用的是循环神经网络。在第8章中我们介绍了使用经典的卷积神经网络来解决文本分类的问题,同时读者也可以将其引申到更多的序列化问题,这也是未来深度学习研究的方向。
目录
第1章 Python和TensorFlow 2.0的安装
1.1 Python基本安装和用法
1.1.1 Anaconda的下载与安装
1.1.2 Python编译器PyCharm的安装
1.1.3 使用Python计算softmax函数
1.2 TensorFlow 2.0 GPU版本的安装
1.2.1 检测Anaconda中的TensorFlow版本
1.2.2 TensorFlow 2.0 GPU版本基础显卡推荐和前置软件安装
1.3 Hello TensorFlow
1.4 本章小结

第2章 简化代码的复杂性:TensorFlow 2.0基础与进阶
2.1 配角转成主角——从TensorFlow Eager Execution转正谈起
2.1.1 Eager简介与调用
2.1.2 读取数据
2.1.3 使用TensorFlow 2.0模式进行线性回归的一个简单的例子
2.2 Hello TensorFlow & Keras
2.2.1 MODEL!MODEL!MODEL!还是MODEL
2.2.2 使用Keras API实现鸢尾花分类的例子(顺序模式)
2.2.3 使用Keras函数式编程实现鸢尾花分类的例子(重点)
2.2.4 使用保存的Keras模式对模型进行复用
2.2.5 使用TensorFlow 2.0标准化编译对Iris模型进行拟合
2.2.6 多输入单一输出TensorFlow 2.0编译方法(选学)
2.2.7 多输入多输出TensorFlow 2.0编译方法(选学)
2.3 全连接层详解
2.3.1 全连接层的定义与实现
2.3.2 使用TensorFlow 2.0自带的API实现全连接层
2.3.3 打印显示TensorFlow 2.0设计的Model结构和参数
2.4 本章小结

第3章 TensorFlow 2.0语法基础
3.1 BP神经网络简介
3.2 BP神经网络两个基础算法详解
3.2.1 最小二乘法(LS算法)详解
3.2.2 道士下山的故事——梯度下降算法
3.3 反馈神经网络反向传播算法介绍
3.3.1 深度学习基础
3.3.2 链式求导法则
3.3.3 反馈神经网络原理与公式推导
3.3.4 反馈神经网络原理的激活函数
3.3.5 反馈神经网络原理的Python实现
3.4 本章小结

第4章 卷积层详解与MNIST实战
4.1 卷积运算基本概念
4.1.1 卷积运算
4.1.2 TensorFlow 2.0中卷积函数实现详解
4.1.3 池化运算
4.1.4 softmax激活函数
4.1.5 卷积神经网络原理
4.2 TensorFlow 2.0编程实战-MNIST手写体识别
4.2.1 MNIST数据集
4.2.2 MNIST数据集特征和标签介绍
4.2.3 TensorFlow 2.0编程实战MNIST数据集
4.2.4 使用自定义的卷积层实现MNIST识别
4.3 本章小结

第5章 TensorFlow 2.0 Dataset使用详解
5.1 Dataset API基本结构和内容
5.1.1 Dataset API数据种类
5.1.2 Dataset API基础使用
5.2 Dataset API高级用法
5.2.1 Dataset API数据转换方法
5.2.2 一个读取图片数据集的例子
5.3 使用TFRecord API创建和使用数据集
5.3.1 TFRecord详解
5.3.2 TFRecord的创建
5.3.3 TFRecord的读取
5.4 TFRecord实战——带有处理模型的完整例子
5.4.1 创建数据集
5.4.2 创建解析函数
5.4.3 创建数据模型
5.4 本章小结

第6章 从冠军开始:ResNet
6.1 ResNet基础原理与程序设计基础
6.1.1 ResNet诞生的背景
6.1.2 模块工具的TensorFlow实现——不要重复造轮子
6.1.3 TensorFlow高级模块layers用法简介
6.2 ResNet实战CIFAR-100数据集分类
6.2.1 CIFAR-100数据集简介
6.2.2 ResNet残差模块的实现
6.2.3 ResNet网络的实现
6.2.4 使用ResNet对CIFAR-100进行分类
6.3 ResNet的兄弟——ResNeXt
6.3.1 ResNeXt诞生的背景
6.3.2 ResNeXt残差模块的实现
6.3.3 ResNeXt网络的实现
6.3.4 ResNeXt和ResNet的比较
6.4 其他的卷积神经模型简介
6.4.1 SqueezeNet模型简介
6.4.2 Xception模型简介
6.5 本章小结

第7章 Attention is all we need!
7.1 简单的理解注意力机制
7.1.1 何为“注意力”
7.1.2 “hard or soft?”——注意力机制的两种常见形式
7.1.3 “Spatial and Channel!”——注意力机制的两种实现形式
7.2 SENet 和CBAM注意力机制的经典模型
7.2.1 最后的冠军——SENet
7.2.2 结合了Spatial和Channel的CBAM模型
7.2.3 注意力的前沿研究——基于细粒度的图像注意力机制
7.3 本章小结

第8章 卷积神经网络实战:识文断字我也可以
8.1 文本数据处理
8.1.1 数据集介绍和数据清洗
8.1.2 停用词的使用
8.1.3 词向量训练模型word2vec使用介绍
8.1.4 文本主题的提取——基于TF-IDF(选学)
8.1.5 文本主题的提取——基于TextRank(选学)
8.2 针对文本的卷积神经网络模型简介——字符卷积
8.2.1 字符(非单词)文本的处理
8.2.2 卷积神经网络文本分类模型的实现——Conv1D(一维卷积)
8.3 针对文本的卷积神经网络模型简介——词卷积
8.3.1 单词的文本处理
8.3.2 卷积神经网络文本分类模型的实现——Conv2D(二维卷积)
8.4 使用卷积对文本分类的补充内容
8.4.1 汉字的文本处理
8.4.2 其他的一些细节
8.5 本章小结