深度学习与飞桨 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

相关推荐
ShuQiHere几秒前
【ShuQiHere】 探索数据挖掘的世界:从概念到应用
人工智能·数据挖掘
嵌入式杂谈1 分钟前
OpenCV计算机视觉:探索图片处理的多种操作
人工智能·opencv·计算机视觉
时光追逐者2 分钟前
分享6个.NET开源的AI和LLM相关项目框架
人工智能·microsoft·ai·c#·.net·.netcore
东隆科技2 分钟前
PicoQuant公司:探索铜铟镓硒(CIGS)太阳能电池技术,引领绿色能源革新
人工智能·能源
DisonTangor14 分钟前
上海AI气象大模型提前6天预测“贝碧嘉”台风登陆浦东 今年已多次精准预测
人工智能
人工智能培训咨询叶梓31 分钟前
生成式人工智能在无人机群中的应用、挑战和机遇
人工智能·语言模型·自然语言处理·aigc·无人机·多模态·生成式人工智能
B站计算机毕业设计超人38 分钟前
计算机毕业设计Python+Flask微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
爬虫·python·深度学习·算法·机器学习·自然语言处理·数据可视化
羊小猪~~42 分钟前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Zhangci]43 分钟前
OpenCv(一)
人工智能·opencv·计算机视觉
钡铼技术44 分钟前
通过iFIX在ARMxy边缘计算网关上实现维护管理
人工智能·物联网·边缘计算·钡铼技术·armxy边缘计算网关