书籍作者:[英] 托尼·霍尔德罗伊德 | ISBN:9787302564638 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:2245 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《TensorFlow 2学习指南》探讨了TensorFlow 2的诸多应用实践,内容涵盖各种热门的应用场景,包括波士顿房价、图像去噪、图像识别、图像风格迁移、文本生成、文本情感分析等。同时深刻剖析了TensorFlow 2在每个人工智能细分方向的应用实践,专门为“应用落地”而编写。书中每章聚焦一个具体的技术,提供多个详细的案例,并附有大量的代码和注释,帮助读者快速入门和熟练掌握。
《TensorFlow 2学习指南》可作为广大对TensorFlow感兴趣的读者的参考书,也可作为高等院校计算机、人工智能等相关专业的教材。
Tony Holdroyd毕业于杜伦大学,主修数学和物理,具有MCSD、MCSD.net和SCJP等技术资格。随后获得伦敦大学计算机科学硕士学位。曾任计算机科学和数学专业的高级讲师,负责设计和教授C、C++、Java、C#和SQL等多种语言的编程课程。Tony对神经网络的热情源于硕士论文所做的研究,在硕士期间还开发了多个机器学习、神经网络和深度学习应用程序,并建议媒体行业将深度学习应用于图像和音乐处理。
TensorFlow是Python中最流行的机器学习框架之一。这本书将加深读者对TensorFlow新特性的认识,并可利用Python执行有监督和无监督的机器学习。
一、 本书目的
本书旨在向读者介绍TensorFlow及其功能,包括TensorFlow 2介绍、动态图机制、tf.data、tf.keras、TensorFlow Hub、机器学习和神经网络应用等内容。
本书适用于对机器学习及其应用有所了解的任何人: 数据科学家、机器学习工程师、计算机科学家、计算机科学与技术专业的学生和爱好者。
二、 本书涵盖内容
第1章为TensorFlow 2简介,通过大量代码片段,介绍TensorFlow的一些基本操作; 概述现代TensorFlow生态系统,并说明TensorFlow的安装方法。
第2章讲述TensorFlow 2的高级API——Keras,给出目前其在业界的评价和个人见解,然后介绍了Keras基本体系结构的四种不同表达方式,该方式应用于MNIST数据集训练。
第3章讲述基于TensorFlow 2的ANN技术,研究了神经网络的创建和应用技术。介绍ANN的数据表示、ANN的神经层、模型的创建、梯度计算、损失函数以及模型的保存和恢复。
第4章讲述基于TensorFlow 2的有监督学习,介绍了两种场景下TensorFlow的应用示例。线性回归将特征映射到具有连续值的已知标签,对未知特征进行预测; 逻辑回归场景中,特征被映射到分类标签,目的是预测未知特征的分类。
第5章讲述基于TensorFlow 2的无监督学习,探讨了自动编码器在无监督学习中的两个应用: 压缩数据和降噪(去除图像中的噪声)。
第6章讲述基于TensorFlow 2的图像识别,用到了“Google Quick Draw!”图像数据集和CIFAR 10图像数据集。
第7章讲述基于TensorFlow 2的图像风格迁移,介绍如何获取内容图像和样式图像用来生成混合图像。本章将使用预训练模型VGG19中的神经层来完成此任务。
第8章讲述基于TensorFlow 2的循环神经网络,讨论了RNN的一般原理,介绍了如何获取和准备供模型使用的文本。
第9章TensorFlow Estimators和TensorFlow Hub,首先介绍了用于训练时装数据集的Estimator,概述了这些Estimator如何为TensorFlow提供简单、直观的API,接着介绍了用于分析电影评论数据库IMDB的神经网络。
附录给出从tf1.12转换为tf2的方法及其注意事项。
三、 如何更好地利用本书
本书需要读者具备Python 3.6的基本知识,并熟悉Jupyter Notebook的使用。
相较于以文字形式给出的长篇阐述,本书认为读者更倾向于接受以代码片段和完整程序形式给出的解释。当然,两种形式在各类书籍中均占有一席之地。
强烈建议读者对机器学习的概念和技术有一定的了解,但如果读者只想粗略学习本书,这些了解也并非必要。
四、 下载示例代码文件
读者可以访问www.packt.com,登录个人账户并下载本书的示例代码文件。如果读者在别处购买了此书,可以访问www.packt.com/support并注册,我们会直接通过电子邮件将文件发送给您。
可以按照以下步骤下载代码文件:
(1) 在www.packt.com.网站上登录或注册。
(2) 选择SUPPORT选项卡。
(3) 单击Code Downloads & Errata。
(4) 在搜索框中输入图书名称,然后按照操作界面上的说明下载代码文件。
下载文件后,请确保使用最新版本解压缩或提取文件夹:
(1) Windows系统: WinRAR/7Zip。
(2) Mac系统: Zipeg/iZip/UnRarX。
(3) Linux系统: 7Zip/PeaZip。
该书的代码包托管在GitHub上,网址为https://github.com/PacktPublishing/Tensorflow2.0QuickStartGuide。如果代码有更新,将在现有的GitHub存储库上更新。网站上还提供了其他书籍和视频目录中的大量代码包,网址为https://github.com/PacktPublishing/。
五、 下载彩色图像
以下网址还提供了一个PDF文件,该文件包含本书中使用的屏幕截图/图表的彩色图像,网址为http://www.packtpub.com/sites/default/files/downloads/9781789530759_ColorImages.pdf。
六、 使用约定
本书中使用了许多文本约定。
CodeInText: 表示文本中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟url、用户输入和Twitter句柄。举个例子: 将下载的WebStorm10*.dmg磁盘映像文件作为另一个磁盘挂载在系统上。
代码格式如下:
image1 = tf.zeros([7, 28, 28, 3]) # example-within-batch by height by width by color
当提示注意代码块的特定部分时,相关行或项将设置为黑体格式:
r1 = tf.reshape(t2,[2,6]) # 2 rows 6 cols
r2 = tf.reshape(t2,[1,12]) # 1 rows 12 cols
r1
# tf.Tensor: id=33, shape=(2, 6), dtype=float32,
numpy= array([[ 0., 1., 2., 3., 4., 5.], [ 6., 7., 8., 9., 10., 11.]], dtype=float32)
任何命令行的输入或输出格式如下:
var = tf.Variable([3, 3])
黑体: 表示新术语、重要单词或在屏幕上看到的单词。例如,菜单或对话框中的单词会以黑体格式出现在文本中。示例: 从“管理”面板中选择“系统信息”。
七、 关于作者
Tony Holdroyd毕业于杜伦大学,主修数学和物理,具有MCSD、MCSD.net和SCJP等技术资格。随后获得伦敦大学计算机科学硕士学位。曾任计算机科学和数学专业的高级讲师,负责设计和教授C、C++、Java、C#和SQL等多种语言的编程课程。Tony对神经网络的热情源于硕士论文所做的研究,在硕士期间还开发了多个机器学习、神经网络和深度学习应用程序,并建议媒体行业将深度学习应用于图像和音乐处理。Tony的妻子Sue McCreeth是著名的音乐家,目前他们居住在英国肯特郡的格雷夫森德。
八、 关于审稿人
Sujit Pal是Elsevier实验室的技术研究总监。该实验室是ReedElsevier集团公司的高级技术小组。他的研究领域包括语义研究、自然语言处理(NLP)、机器学习和深度学习。在Elsevier实验室里,他从事过多个涉及大型图像和文本语料库的机器学习计划,以及其他有关推荐系统和知识图谱开发的计划。他与Antonio Gulli合著了Deep Learning with Keras一书,在他的博客(Salmon Run)中,他还撰写了一些相关技术的文章。
Narotam Singh原为地球科学部印度气象部门的气象学家,最近主动请求退休,去实现他的学习计划和帮助社会的梦想。他一直积极参与各种技术项目的研究,并对政府官员进行信息技术和通信领域的培训。他在研究生阶段主修电子学,毕业时又取得了物理学学位。同时,他还持有计算机工程领域的本科和硕士文凭。目前,他是一名自由职业者,发表过大量研究论文,还担任过许多书籍的技术审稿人。现在,他专注于人工智能、机器学习、深度学习、机器人的研究。
目录
第一部分TensorFlow 2基本内容介绍
第1章TensorFlow 2 简介
1.1初识TensorFlow生态系统
1.2TensorFlow的安装
1.3内务管理和Eager操作
1.3.1导入TensorFlow
1.3.2TensorFlow的编码风格约定
1.3.3动态图机制
1.3.4声明Eager变量
1.3.5声明TensorFlow常量
1.3.6创建tensor张量
1.3.7张量的秩(维数)
1.3.8指定张量的元素
1.3.9将张量转换为NumPy/Python变量
1.3.10计算张量的大小(元素数)
1.3.11查看张量的数据类型
1.3.12张量元素的基本运算规则
1.3.13广播机制
1.3.14TensorFlow转置和矩阵乘法
1.3.15张量数据类型的转换
1.3.16声明不规则张量
1.4TensorFlow的基本操作
1.4.1计算张量的平方差
1.4.2计算平均值
1.4.3随机初始化张量
1.4.4查找最大和最小元素的索引
1.4.5使用检查点保存和恢复张量值
1.4.6tf.function
1.5小结
第2章TensorFlow 2的高级API——Keras
2.1Keras的使用情况及优势
2.2Keras特性
2.3Keras默认配置文件
2.4Keras后端
2.5Keras数据类型
2.6Keras模型
2.6.1Keras序列模型
2.6.2Keras函数式API
2.6.3子类化Keras模型类
2.6.4使用数据管道
2.6.5保存和加载Keras模型
2.6.6Keras数据集
2.7小结
第3章基于TensorFlow 2的ANN技术
3.1获取数据集
3.1.1从NumPy数组获取数据
3.1.2从CSV文件获取数据
3.1.3使用TFRecords存取数据
3.1.4使用独热编码处理数据
3.2ANN层
3.2.1全连接层
3.2.2卷积层
3.2.3最大池化层
3.2.4批标准化层和Dropout层
3.2.5Softmax层
3.3激活函数
3.4创建模型
3.5梯度计算
3.6损失函数
3.7小结
第二部分TensorFlow 2中的有监督和无监督学习
第4章基于TensorFlow 2的有监督学习
4.1有监督学习
4.2线性回归
4.3第一个线性回归示例
4.4波士顿房价数据集
4.5逻辑回归(分类)
4.6k最近邻(KNN)
4.7小结
第5章基于TensorFlow 2的无监督学习
5.1自动编码器
5.2一个简单的自动编码器
5.2.1数据预处理
5.2.2训练
5.2.3结果显示
5.3自动编码器的应用——去噪
5.3.1设置
5.3.2数据预处理
5.3.3带噪声的图像
5.3.4创建编码层
5.3.5创建解码层
5.3.6模型概要
5.3.7模型实例化、编译和训练
5.3.8图像去噪
5.3.9TensorBoard输出
5.4小结
第三部分TensorFlow 2的神经网络应用
第6章基于TensorFlow 2的图像识别
6.1基于TensorFlow的Quick Draw图像分类
6.1.1数据获取
6.1.2设置环境
6.1.3数据预处理
6.1.4模型创建
6.1.5模型训练和测试
6.1.6TensorBoard回调函数
6.1.7模型保存、加载和重新测试
6.1.8用.h5格式保存和加载NumPy图像数据
6.1.9预训练模型的加载和使用
6.2基于TensorFlow的CIFAR 10图像分类
6.2.1简介
6.2.2应用
6.3小结
第7章基于TensorFlow 2的图像风格迁移
7.1导入配置
7.2图像预处理
7.3查看原始图像
7.4使用VGG19架构
7.5创建模型
7.6计算损失
7.7执行风格迁移
7.8最终展示
7.9小结
第8章基于TensorFlow 2的循环神经网络
8.1神经网络处理模式
8.2循环结构
8.3RNN的应用
8.4RNN代码示例
8.5模型构建与实例化
8.6模型训练与使用
8.7小结
第9章TensorFlow Estimators和TensorFlow Hub
9.1TensorFlow Estimators
9.2TensorFlow Hub
9.2.1IMDB(电影评论数据库)
9.2.2数据集
9.2.3代码
9.3小结
附录从tf1.12转换为tf2