《面向机器智能的TensorFlow实践》一导读

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介:
PREFACE
前 言
欢迎
自2015年11月TensorFlow第一个开源版本发布以来,它便迅速跻身于最激动人心的机器学习库的行列,并在科研、产品和教育等领域正在得到日益广泛的应用。这个库也在不断地得到改进、充实和优化。与此同时,TensorFlow社区正以惊人的速度发展壮大。无论你是新手还是有经验的用户,笔者都希望通过本书帮助你提升使用TensorFlow的能力,使你自如地充分利用这个功能强大的开源库。
本书的内容编排
第一部分:开启TensorFlow之旅
本书第一部分将帮助读者做好使用TensorFlow的准备。第1章为引言,对TensorFlow的历史脉络进行了简要的梳理,并对TensorFlow的设计模式以及选择TensorFlow作为深度学习库的优势和面临的挑战进行了讨论。
引言之后的第2章将介绍安装TensorFlow时应当考虑的因素,并给出了详细的TensorFlow安装指南,即如何从二进制安装包安装和从源码构建TensorFlow。
第二部分:TensorFlow与机器学习基础
从第3章开始,进入本书第二部分。在TensorFlow安装完毕后,第3章将深入介绍TensorFlow API的基础知识,而不会涉及过多的机器学习概念。这样做是为了将“学习TensorFlow”和“学习如何利用TensorFlow从事机器学习相关工作”区分开来。第3章将对TensorFlow API中许多重要的部分进行深入剖析。此外,还将演示如何用可视化的数据流图表示模型,并将其转化为TensorFlow代码,以及如何利用TensorBoard验证数据流图是否被正确建模。
介绍完TensorFlow API的核心概念之后,便进入第4章。这一章将利用TensorFlow实现一些简单的机器学习模型,如线性回归、对数几率回归(logistic regression)和聚类模型。
第三部分:用TensorFlow实现更高级的深度模型
第三部分由两章构成,每章都只关注一种更为复杂的深度学习模型。每章首先对模型进行描述,然后介绍如何用可视化的数据流图表示所要创建的模型。这两章还将讨论为什么要以特定方式构建这些模型,并对所涉及的数学难点进行讲解,之后再介绍如何利用TensorFlow有效地构建这些模型。
所要研究的第一个模型是卷积神经网络(CNN),对应于第5章。该章会介绍如何使用图像数据训练TensorFlow模型,并对卷积的数学原理和使用目的展开讨论,同时还将介绍如何将图像裸数据转化为一种与TensorFlow兼容的格式,以及如何对最终的输出进行测试。
第6章将探讨如何使用TensorFlow正确地构建循环神经网络(RNN)模型。通过各种自然语言处理(NLP)任务,读者将了解如何利用长短时记忆网络(LSTM)以及如何将预训练的词向量包含到模型中。
第四部分:其他提示、技术与特性
本书最后一部分将探讨TensorFlow API中最新推出的特性,内容包括如何准备用于部署的模型、一些有用的编程模式,以及其他精选主题。
其他机器学习库
TensorFlow并非唯一可用的开源机器学习库。下面列出一份可用于深度学习的简短开源库清单:
Caffe专注于卷积神经网络和图像处理,使用C++语言编写。
Chainer是另一个灵活的机器学习Python库,支持单机多GPU运算。
CNTK是微软公司发布的首个开源机器学习库,它拥有自己的模型定义语言,支持声明式的分布式模型构建。
Deeplearning4j是一个专门针对神经网络的Java库,它易于与Spark、Hadoop和其他基于Java的分布式软件集成,具有良好的可伸缩性。
Nervana Neon是一个高效的Python机器学习库,支持单机多GPU运算。
Theano是一个极为灵活的Python机器学习库,因其出众的用户友好性以及可以用异常简单的方式定义复杂模型等特点,在科研领域深受欢迎。TensorFlow的API与Theano API最为相似。
Torch是一个专注于GPU实现的机器学习库,它是用Lua语言编写的,并由来自若干家大公司的研究团队提供支持。
限于篇幅,本书不打算对上述这些库的优缺点展开深入讨论,但如果有时间,非常值得深入展开。TensorFlow的作者在进行框架设计时,便是从当中的几个库汲取了灵感。
先修知识
虽然本书主要关注TensorFlow API,但笔者希望读者已经熟悉大量数学和编程概念,包括:
微积分(一元和多元)
矩阵代数(尤其是矩阵乘法)
基本的编程原理
机器学习的基本概念
此外,读者若能够掌握下列知识,则将从本书中获得更大的收获:
拥有Python编程及模块组织的经验
拥有NumPy库的使用经验
拥有matplotlib库的使用经验
掌握机器学习中更高级的概念,尤其是前馈神经网络、卷积神经网络和循环神经网络
在适宜的时候,笔者会通过一些提示信息帮助读者重新熟悉那些为充分理解相关数学和Python概念所必需的概念。
预期的收获
通过阅读本书,读者将掌握以下内容:
TensorFlow的核心API
TensorFlow的工作流:数据流图的定义和数据流图的执行
如何在各种设备上安装TensorFlow
组织代码和项目的最佳实践
如何用TensorFlow创建核心机器学习模型
如何用TensorFlow实现RNN和CNN
如何用TensorFlow Serving部署代码
利用TensorBoard分析模型的基础知识
在学习完本书之后,如果读者想对TensorFlow获得更多了解,可参考下列资源:
TensorFlow官网 其中包含最新的文档、API和入门材料。
TensorFlow Github代码库 在此,可对TensorFlow的开源实现做出贡献,并直接对源代码进行审查。
官方发布的用TensorFlow实现的机器学习模型 可原封不动地使用这些模型,也可稍加调整以适合自己的设计目的。
谷歌研究院的博客(Google Research Blog) 提供了来自谷歌的有关TensorFlow的应用和更新的最新消息。
Kaggle 获取公开数据集并与其他从事数据分析工作的人开展竞赛的绝佳网站。
Data.gov 美国政府的门户网站,从中可找到全美国的公开数据集。
至此,“动员演讲”已经结束,现在让我们开启本书的学习之旅吧!




CONTENTS
目录
译者序
前言
第一部分 开启TensorFlow之旅
第1章 引言
1.5.1 解读来自官网的单句描述
1.5.2 单句描述未体现的内容
第2章 安装TensorFlow
2.5.1 安装依赖库
2.5.2 安装Bazel
2.5.3 安装CUDA软件(仅限NVIDIA GPU)
2.5.4 从源码构建和安装TensorFlow
第二部分 TensorFlow与机器学习基础
第3章 TensorFlow基础
3.1.1 数据流图基础
3.1.2 节点的依赖关系
3.2.1 构建第一个TensorFlow数据流图
3.2.2 张量思维
3.2.3 张量的形状
3.2.4 TensorFlow的Operation
3.2.5 TensorFlow的Graph对象
3.2.6 TensorFlow Session
3.2.7 利用占位节点添加输入
3.2.8 Variable对象
3.4 练习:综合运用各种组件
3.4.1 构建数据流图
3.4.2 运行数据流图
3.5 本章小结
第4章 机器学习基础
4.1 有监督学习简介
4.2 保存训练检查点
4.3 线性回归
4.4 对数几率回归
4.5 softmax分类
4.6 多层神经网络
4.7 梯度下降法与误差反向传播算法
第三部分 用TensorFlow实现更高级的深度模型
第5章 目标识别与分类
5.1 卷积神经网络
5.2 卷积
5.2.1 输入和卷积核
5.2.2 跨度
5.2.3 边界填充
5.2.4 数据格式
5.2.5 深入探讨卷积核
5.3 常见层
5.3.1 卷积层
5.3.2 激活函数
5.3.3 池化层
5.3.4 归一化
5.3.5 高级层
5.4 图像与TensorFlow
5.4.1 加载图像
5.4.2 图像格式
5.4.3 图像操作
5.4.4 颜色
5.5 CNN的实现
5.5.1 Stanford Dogs数据集
5.5.2 将图像转为TFRecord文件
5.5.3 加载图像
5.5.4 模型
5.5.5 训练
5.5.6 用TensorBoard调试滤波器
5.6 本章小结
第6章 循环神经网络与自然语言处理
6.1 循环神经网络简介
6.1.1 时序的世界
6.1.2 近似任意程序
6.1.3 随时间反向传播
6.1.4 序列的编码和解码
6.1.5 实现第一个循环神经网络
6.1.6 梯度消失与梯度爆炸
6.1.7 长短时记忆网络
6.1.8 RNN结构的变种
6.2 词向量嵌入
6.2.1 准备维基百科语料库
6.2.2 模型结构
6.2.3 噪声对比分类器
6.2.4 训练模型
6.3 序列分类
6.3.1 Imdb影评数据集
6.3.2 使用词向量嵌入
6.3.3 序列标注模型
6.3.4 来自最后相关活性值的softmax层
6.3.5 梯度裁剪
6.3.6 训练模型
6.4 序列标注
6.4.1 OCR数据集
6.4.2 时间步之间共享的soft-max层
6.4.3 训练模型
6.4.4 双向RNN
6.5 预测编码
6.5.1 字符级语言建模
6.5.2 ArXiv摘要API
6.5.3 数据预处理
6.5.4 预测编码模型
6.5.5 训练模型
6.5.6 生成相似序列
6.6 本章小结
第四部分 其他提示、技术与特性
第7章 产品环境中模型的部署
7.1 搭建TensorFlow服务开发环境
7.1.1 Docker镜像
7.1.2 Bazel工作区
7.2 导出训练好的模型
7.3 定义服务器接口
7.4 实现推断服务器
7.5 客户端应用
7.6 产品准备
7.7 本章小结
第8章 辅助函数、代码结构和类
8.1 确保目录结构存在
8.2 下载函数
8.3 磁盘缓存修饰器
8.4 属性字典
8.5 惰性属性修饰器
8.6 覆盖数据流图修饰器
第9章 结语:其他资源

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
5月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
386 0
|
2月前
|
持续交付 测试技术 jenkins
JSF 邂逅持续集成,紧跟技术热点潮流,开启高效开发之旅,引发开发者强烈情感共鸣
【8月更文挑战第31天】在快速发展的软件开发领域,JavaServer Faces(JSF)这一强大的Java Web应用框架与持续集成(CI)结合,可显著提升开发效率及软件质量。持续集成通过频繁的代码集成及自动化构建测试,实现快速反馈、高质量代码、加强团队协作及简化部署流程。以Jenkins为例,配合Maven或Gradle,可轻松搭建JSF项目的CI环境,通过JUnit和Selenium编写自动化测试,确保每次构建的稳定性和正确性。
44 0
|
2月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
49 0
|
2月前
|
自然语言处理 C# 开发者
Uno Platform多语言开发秘籍大公开:轻松驾驭全球用户,一键切换语言,让你的应用成为跨文化交流的桥梁!
【8月更文挑战第31天】Uno Platform 是一个强大的开源框架,允许使用 C# 和 XAML 构建跨平台的原生移动、Web 和桌面应用程序。本文详细介绍如何通过 Uno Platform 创建多语言应用,包括准备工作、设置多语言资源、XAML 中引用资源、C# 中加载资源以及处理语言更改。通过简单的步骤和示例代码,帮助开发者轻松实现应用的国际化。
31 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】TensorFlow简介,应用场景,使用方法以及项目实践及案例分析,附带源代码
TensorFlow是由Google Brain团队开发的开源机器学习库,广泛用于各种复杂的数学计算,特别是涉及深度学习的计算。它提供了丰富的工具和资源,用于构建和训练机器学习模型。TensorFlow的核心是计算图(Computation Graph),这是一种用于表示计算流程的图结构,由节点(代表操作)和边(代表数据流)组成。
47 0
|
5月前
|
机器学习/深度学习 自然语言处理 TensorFlow
构建高效的机器学习模型:基于Python和TensorFlow的实践
构建高效的机器学习模型:基于Python和TensorFlow的实践
69 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
TensorFlow在自然语言处理中的实践
【4月更文挑战第17天】本文探讨了TensorFlow在自然语言处理(NLP)中的应用,包括文本预处理、特征表示、模型构建、训练与评估。TensorFlow提供工具简化文本预处理,如`tf.text`模块进行分词。利用`Tokenizer`和`to_categorical`进行特征表示。通过`Embedding`、`LSTM`等构建模型,并用`model.fit`和`model.evaluate`训练及评估。实践中,可借助预训练词嵌入、序列填充、注意力机制和迁移学习提升性能。TensorFlow为NLP任务提供了高效解决方案,未来潜力无限。
|
5月前
|
机器学习/深度学习 PyTorch TensorFlow
NumPy与TensorFlow/PyTorch的集成实践
【4月更文挑战第17天】本文探讨了NumPy与主流深度学习框架TensorFlow和PyTorch的集成实践,阐述了它们如何通过便捷的数据转换提升开发效率和模型性能。在TensorFlow中,NumPy数组可轻松转为Tensor,反之亦然,便于原型设计和大规模训练。PyTorch的张量与NumPy数组在内存中共享,实现无缝转换。尽管集成带来了性能和内存管理的考量,但这种结合为机器学习流程提供了强大支持,促进了AI技术的发展。
|
5月前
|
机器学习/深度学习 PyTorch TensorFlow
【TensorFlow】TF介绍及代码实践
【4月更文挑战第1天】TF简介及代码示例学习
82 0
|
11月前
|
TensorFlow 算法框架/工具 异构计算
YOLO实践应用之搭建开发环境(Windows系统、Python 3.8、TensorFlow2.3版本)
基于YOLO进行物体检测、对象识别,先和大家分享如何搭建开发环境,会分为CPU版本、GPU版本的两种开发环境,本文会分别详细地介绍搭建环境的过程。主要使用TensorFlow2.3、opencv-python4.4.0、Pillow、matplotlib 等依赖库。
251 0

热门文章

最新文章

下一篇
无影云桌面