深度学习与飞桨PaddlePaddle Fluid实战

深度学习与飞桨PaddlePaddle Fluid实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

飞桨PaddlePaddle是百度推出的深度学习框架,不仅支撑了百度公司的很多业务和应用,而且随着其开源过程的推进,在其他行业得到普及和应用。

本书基于2019年7月4日发布的飞桨PaddlePaddle Fluid 1.5版本(后续版本会兼容旧版本),以真实案例介绍如何应用飞桨PaddlePaddle解决主流的深度学习问题。

本书适合对人工智能感兴趣的学生、从事机器学习相关工作的读者阅读,尤其适合想要通过飞桨PaddlePaddle掌握深度学习应用技术的研究者和从业者参考。

本书包括以下内容:

● 飞桨PaddlePaddle 的核心设计思想;

● PaddlePaddle在MNIST上进行手写数字识别;

● 图像分类网络实现案例;

● “天网”中目标检测和像素级物体分割的实现;

● NLP技术应用案例 :word2vec、情感分析、语义角色标注及机器翻译;

● Paddle-Mobile与Anakin框架等高级主题;

● 飞桨PaddlePaddle与TensorFlow、Caffe框架的常用层对比。

内容简介

飞桨PaddlePaddle Fluid是百度推出的深度学习框架,不仅支撑了百度公司的很多业务和应用,而且随着其开源过程的推进,在很多行业得到普及、应用和关注。

本书基于最新的飞桨PaddlePaddle Fluid版本,以真实的应用案例介绍如何用飞桨PaddlePaddle解决主流的深度学习问题。全书共14章。本书首先介绍了什么是飞桨PaddlePaddle,然后介绍了其核心设计思想,进而紧紧结合案例介绍了飞桨PaddlePaddle在主流的图像任务领域、NLP领域的应用,最后还探讨了Paddle-Mobile与Anakin框架等高级主题。附录A和B给出了飞桨PaddlePaddle与TensorFlow、Caffe框架的接口中常用层的对比。

本书非常适合对人工智能感兴趣的学生、从事机器学习相关工作的读者阅读,尤其适合想要通过飞桨PaddlePaddle掌握深度学习应用技术的研究者和从业者参考。

作者简介

于祥

百度PaddlePaddle技术运营。2015年开始研究神经网络技术,早期从事基于深度学习的身份认证技术研发,曾负责上海智慧城市项目和华润集团项目的算法支持,曾获得ACM-ICPC与CCCC-GPLT银奖。

章节目录

第 1章 飞桨PaddlePaddle简介

与AI Studio的使用 1

1.1 飞桨PaddlePaddle简介 1

1.2 飞桨PaddlePaddle的工具组件 2

1.2.1 PaddleHub—简明易用的

预训练模型管理框架 2

1.2.2 PARL—基于飞桨PaddlePaddle

的深度强化学习框架 3

1.2.3 AutoDL Design—让深度学习

来设计深度学习 4

1.2.4 VisualDL—深度学习可视化

工具库 5

1.2.5 模型转换工具X2Paddle 5

1.3 飞桨PaddlePaddle在百度内部

支持的案例 6

1.4 飞桨PaddlePaddle与TensorFlow的

对比 7

1.5 AI Studio简介 8

1.6 在AI Studio中创建项目 9

1.6.1 用户界面简介 9

1.6.2 创建并运行一个项目 10

1.7 AI Studio单机项目概述 11

1.7.1 页面概览 11

1.7.2 复制项目 12

1.7.3 VisualDL工具的使用 13

1.8 Notebook环境使用说明 14

1.8.1 Notebook页面概览 14

1.8.2 操作区 14

1.8.3 Notebook内容编辑区 15

1.8.4 侧边栏 21

1.8.5 工具栏 23

1.9 AI Studio集群项目 23

1.9.1 集群项目说明 23

1.9.2 创建集群项目 24

1.9.3 页面概览 25

1.9.4 代码编辑界面 25

1.9.5 文件管理和数据集区域 26

1.9.6 文件预览编辑和提交任务

区域 27

1.9.7 PaddlePaddle集群训练说明 27

1.9.8 数据集与输出文件路径说明 28

1.9.9 提交任务 29

1.9.10 历史任务 29

1.9.11 预安装包说明 30

1.10 在线部署及预测 31

1.10.1 功能说明 31

1.10.2 通过训练任务生成模型文件 32

1.10.3 创建一个在线服务 34

1.10.4 测试沙盒服务 39

1.10.5 部署在线服务 40

1.10.6 调用在线服务 41

1.11 NumPy常规操作及使用 42

第 2章 PaddlePaddle Fluid的环境

搭建与安装 50

2.1 在Linux系统中安装

PaddlePaddle 50

2.1.1 租用百度BCC云服务器 50

2.1.2 安装前的准备工作 56

2.1.3 通过pip安装PaddlePaddle 58

2.1.4 在Docker中安装

PaddlePaddle 59

2.2 在Windows系统中安装

PaddlePaddle 64

2.2.1 Windows GPU驱动环境安装 64

2.2.2 下载并安装CUDA 65

2.2.3 安装cuDNN 68

2.2.4 安装PaddlePaddle 69

2.3 在macOS系统中安装

PaddlePaddle 69

2.3.1 安装Python 3 69

2.3.2 安装PaddlePaddle 71

第3章 PaddlePaddle深度学习入门—

在MNIST上进行手写

数字识别 72

3.1 引言 72

3.2 模型概览 73

3.2.1 Softmax回归模型 73

3.2.2 多层感知器 74

3.2.3 卷积神经网络 75

3.3 数据介绍 78

3.4 PaddlePaddle的程序配置过程 79

3.4.1 程序说明 79

3.4.2 配置inference_program 79

3.4.3 配置train_program 81

3.4.4 配置optimizer_program 82

3.4.5 配置数据集reader 82

3.5 构建训练过程 83

3.5.1 事件处理程序配置 83

3.5.2 开始训练 84

3.6 应用模型 86

3.6.1 生成待预测的输入数据 87

3.6.2 Inference创建及预测 87

3.6.3 预测结果 87

3.7 小结 88

第4章 PaddlePaddle设计思想与

核心技术 89

4.1 编译时与运行时的概念 89

4.2 Fluid内部执行流程 90

4.3 Program设计简介 91

4.4 Block简介 92

4.5 Block和Program的设计细节 93

4.6 框架执行器设计思想 94

4.6.1 代码示例 95

4.6.2 创建框架执行器 95

4.6.3 运行框架执行器 96

4.7 示例 96

4.7.1 定义Program 96

4.7.2 创建框架执行器 98

4.7.3 运行框架执行器 99

4.8 LoD Tensor数据结构解读 99

4.8.1 LoD索引 100

4.8.2 LoD Tensor在PaddlePaddle

中的表示方法 101

4.8.3 LoD Tensor的API 103

4.8.4 LoD Tensor的使用示例 105

4.9 动态图机制——DyGraph 107

4.9.1 动态图设置和基本用法 108

4.9.2 基于DyGraph构建网络 109

4.9.3 使用DyGraph训练模型 110

4.9.4 模型参数的保存 115

4.9.5 模型评估 116

4.9.6 编写兼容的模型 118

第5章 独孤九剑—经典图像分类

网络实现 119

5.1 图像分类网络现状 119

5.2 VGG16图像分类任务 123

5.2.1 定义网络结构 124

5.2.2 定义推理程序 127

5.2.3 定义训练程序 127

5.2.4 实例化训练对象 128

5.2.5 读取数据 128

5.2.6 编写事件处理程序并

启动训练 129

5.2.7 执行模型预测 130

5.3 模块化设计GoogleNet 135

5.4 Alexnet模型实现 142

5.5 Resnet模型实现 146

5.6 MobileNet V2模型实现 149

5.7 ShuffleNet V2模型实现 154

第6章 “天网”系统基础—

目标检测 159

6.1 目标检测简介 160

6.2 对R-CNN系列算法的探索历史 161

6.2.1 R-CNN算法:目标检测

开山之作 161

6.2.2 SPP网络 164

6.2.3 Fast R-CNN 166

6.2.4 Faster R-CNN 167

6.3 单步目标检测算法 177

6.3.1 统一检测算法YOLO 178

6.3.2 SSD基本原理 181

6.3.3 SSD在训练时的匹配策略 185

6.3.4 使用PaddlePaddle实现

SSD网络 186

6.4 PyramidBox 203

6.4.1 提出PyramidBox方法的

背景 204

6.4.2 PyramidBox网络结构 205

6.4.3 PyramidBox的创新点 208

6.4.4 PyramidBox的PaddlePaddle

官方实现 210

第7章 “天网”系统进阶—像素级

物体分割 221

7.1 物体分割简介 221

7.2 语义分割与实例分割的关系 222

7.3 语义分割 222

7.3.1 语义分割的任务描述 223

7.3.2 全卷积网络 224

7.3.3 ParseNet 229

7.3.4 u-net 229

7.3.5 v-net 231

7.3.6 u-net变体网络 231

7.3.7 PSPNet 233

7.3.8 ICNet 234

7.3.9 DeepLab v3  241

7.4 实例分割 249

7.4.1 实例分割概述 249

7.4.2 Mask R-CNN 250

第8章 从零开始了解NLP

技术—word2vec 263

8.1 初识NLP 263

8.2 词向量简介 265

8.3 如何得到词向量模型 268

8.4 词向量模型概览 269

8.4.1 语言模型 269

8.4.2 N-Gram模型 269

8.4.3 CBOW模型 270

8.4.4 Skip-Gram 271

8.4.5 词ID 271

8.5 通过PaddlePaddle训练

CBOW模型 273

8.5.1 CBOW模型训练过程 273

8.5.2 数据预处理 274

8.5.3 编程实现 274

8.5.4 模型应用 278

8.6 小结 280

第9章 feed流最懂你—

个性化推荐 282

9.1 引言 282

9.2 推荐网络模型设计 283

9.2.1 YouTube的深度神经网络

个性化推荐系统 284

9.2.2 融合推荐模型 286

9.3 电影推荐实验 290

9.3.1 数据介绍与下载 290

9.3.2 模型配置说明 292

9.3.3 训练模型 295

9.3.4 应用模型 298

9.4 小结 299

第 10章 让机器读懂你的心—

情感分析技术 300

10.1 情感分析及其作用 300

10.2 模型设计 303

10.3 情感分析实验 308

第 11章 NLP技术深入理解—

语义角色标注 315

11.1 引言 315

11.2 模型概览 317

11.2.1 栈式循环神经网络 317

11.2.2 双向循环神经单元 318

11.2.3 条件随机场 319

11.2.4 深度双向LSTM SRL模型 320

11.3 使用PaddlePaddle实现SRL

任务 322

11.3.1 数据预处理 322

11.3.2 进行PaddlePaddle实验 324

11.4 小结 331

第 12章 NLP技术的应用—

机器翻译 332

12.1 引言 332

12.2 效果展示 333

12.3 模型概览 333

12.3.1 时间步展开的双向循环

神经网络 333

12.3.2 编码器-解码器框架 334

12.3.3 柱搜索算法 337

12.4 机器翻译实战 337

12.4.1 数据预处理 337

12.4.2 模型配置 338

12.4.3 训练模型 342

12.4.4 应用模型 343

第 13章 PaddlePaddle移动端及嵌入式

框架—Paddle-Mobile 345

13.1 Paddle-Mobile简介 345

13.2 Paddle-Mobile优化与适配 346

13.2.1 包压缩 346

13.2.2 工程结构编码前重新设计 347

13.3 移动端主体识别和分类 350

13.3.1 完全在云端的神经网络

技术应用 352

13.3.2 移动端业界案例 353

13.3.3 在移动端应用深度学习

技术的难点 355

13.3.4 AR实时翻译问题的

解决方案 356

13.4 编译与开发Paddle-Mobile

平台库 359

13.5 开发一个基于移动端深度学习

框架的Android APP 360

13.6 Paddle-Mobile设计思想 368

第 14章 百度开源高速推理引擎——

Anakin 374

14.1 Anakin架构与性能 375

14.2 Anakin的特性 379

14.2.1 支持众多异构平台 379

14.2.2 高性能 379

14.2.3 汇编级的kernel优化 382

14.2.4 Anakin值得一提的

技术亮点 382

14.3 Anakin的使用方法 384

14.3.1 Anakin的工作原理 384

14.3.2 Anakin v2.0 API 385

14.4 示例程序 393

附录A TensorFlow与PaddlePaddle Fluid

接口中常用层对照表 394

附录B Caffe与PaddlePaddle Fluid

接口中常用层对照表 401

深度学习与飞桨PaddlePaddle Fluid实战是2019年由人民邮电出版社出版,作者于祥。

得书感谢您对《深度学习与飞桨PaddlePaddle Fluid实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
跟着迪哥学:Python数据分析与机器学习实战 电子书
本书适合对人工智能、机器学习、数据分析等方向感兴趣的初学者和爱好者。
机器学习 电子书
机器学习基础与高级内容全面讲解,实例丰富,易于学习巩固。
机器学习算法评估实战 电子书
在机器学习算法的实际应用中,我们不仅要知道算法的原理,也要了解如何评估算法上线服务的可靠性。
Spark海量数据处理:技术详解与平台实战 电子书
在数字经济时代,数据是重要的资源要素;同时,新的数据又在源源不断地产生,企业面临的一个基本问题就是如何管理和利用这些数据,这对传统的数据处理方法与分析框架提出了新的诉求和挑战,也是全球业界与学界为关心的问题。为了满足大数据时代对信息的快速处理的需求,一个分布式的开源计算框架Apache Spark应运而生。经过十年的发展,Spark已经成为目前大数据处理的标杆,在整个业界得到了广泛的使用。对大数据工程师来说,用Spark构建数据管道无疑是很好的选择,而对数据科学家来说,Spark也是高效的数据探索工具。 本书基于Spark发行版2.4.4写作而成,包含大量的实例与一个完整项目,技术理论与实战相结合,层次分明,循序渐进。本书不仅介绍了如何开发Spark应用的基础内容,包括Spark架构、Spark编程、SparkSQL、Spark调优等,还探讨了Structured Streaming、Spark机器学习、Spark图挖掘、Spark深度学习、Alluxio系统等高级主题,同时完整实现了一个企业背景调查系统,借鉴了数据湖与Lambda架构的思想,涵盖了批处理、流处理应用开发,并加入了一些开源组件来满足业务需求。学习该系统可以使读者从实战中巩固所学,并将技术理论与应用实战融会贯通。 本书适合准备学习Spark的开发人员和数据分析师,以及准备将Spark应用到实际项目中的开发人员和管理人员阅读,也适合计算机相关专业的高年级本科生和研究生学习和参考,对于具有一定的Spark使用经验并想进一步提升的数据科学从业者也是很好的参考资料。
TensorFlow技术解析与实战 电子书
TensorFlow是谷歌公司开发的深度学习框架,也是目前深度学习的主流框架之一。